需求如下:
根据用户的输入进行验证,如果验证不通过,则在当前cell上显示一个气泡(ToolTip) 哪位给个代码参考下 查了半天  也试了几种方法 就是不显示

解决方案 »

  1.   

    刚才把dataGridView的showCellToolTips设置为False 竟然显示了  再仔细研究下
      

  2.   

    DataGridView.ShowCellToolTips = True 的情况下, 单元格的 ToolTip 可以表示出来。对于单元格窄小,无法完全显示的单元格, ToolTip 可以显示必要的信息。1) 设定单元格的ToolTip内容
    [VB.NET]
    ' 设定单元格的ToolTip内容
    DataGridView1(0, 0).ToolTipText = "该单元格的内容不能修改"' 设定列头的单元格的ToolTip内容
    DataGridView1.Columns(0).ToolTipText = "该列只能输入数字"' 设定行头的单元格的ToolTip内容
    DataGridView1.Rows(0).HeaderCell.ToolTipText = "该行单元格内容不能修改"
    [C#]
    // 设定单元格的ToolTip内容
    DataGridView1[0, 0].ToolTipText = "该单元格的内容不能修改";// 设定列头的单元格的ToolTip内容
    DataGridView1.Columns[0].ToolTipText = "该列只能输入数字";// 设定行头的单元格的ToolTip内容
    DataGridView1.Rows[0].HeaderCell.ToolTipText = "该行单元格内容不能修改";2) CellToolTipTextNeeded 事件
    在批量的单元格的 ToolTip 设定的时候,一个一个指定那么设定的效率比较低, 这时候可以利用 CellToolTipTextNeeded 事件。当单元格的 ToolTipText 变化的时候也会引发该事件。但是,当DataGridView的DataSource被指定且VirualMode=True的时候,该事件不会被引发。[VB.NET]
    ' CellToolTipTextNeeded事件处理方法
    Private Sub DataGridView1_CellToolTipTextNeeded(ByVal sender As Object, _
            ByVal e As DataGridViewCellToolTipTextNeededEventArgs) _
            Handles DataGridView1.CellToolTipTextNeeded
        e.ToolTipText = e.ColumnIndex.ToString() + ", " + e.RowIndex.ToString()
    End Sub
    [C#]
    // CellToolTipTextNeeded事件处理方法
    private void DataGridView1_CellToolTipTextNeeded(object sender,
        DataGridViewCellToolTipTextNeededEventArgs e)
    {
        e.ToolTipText = e.ColumnIndex.ToString() + ", " + e.RowIndex.ToString();
    }
      

  3.   

    CellToolTips要鼠标悬停才会显示的吧?应该不能手动控制显隐。
    干脆自定义一个控件,模拟气泡,在验证不通过时,显示这个控件,之后用定时器隐藏。
      

  4.   


    你这个建议比较好!   tooltip使用起来的确是不方便 有这样线程的控件没 共享下