为DataGridView设置ToolTip会自动创建列

我想以编程方式将工具提示设置为在DataGridView自动生成的列。 我试图使用AutoGeneratingColumn事件( http://msdn.microsoft.com/en-us/library/cc903950%28VS.95%29.aspx ),但实际上只能访问DataGridColumn ,而不能访问DataGridColumn和前者没有ToolTipText属性。

或者,如果我可以将工具提示绑定到一个也很棒的源。 目标是能够在我为基础DataTable设置列的相同位置操作/设置工具提示。

我成功地解决了这个问题:

 void payloadDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e) { string tooltip = null; switch (e.Column.Header.ToString()) { case "Column 1": tooltip = "Tooltip 1"; break; case "Column 2": tooltip = "Tooltip 2"; break; } if (tooltip != null) { var style = new Style(typeof(DataGridCell)); style.Setters.Add(new Setter(ToolTipService.ToolTipProperty, tooltip)); e.Column.CellStyle = style; } } 

特定单元格的工具提示:

 DataGridView1.Rows[3].Cells["colnameX"].ToolTipText = " hover and see me"; 

添加工具提示以动态添加行特定单元格

 private void DataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) { for (int index = e.RowIndex; index <= e.RowIndex + e.RowCount - 1; index++) { DataGridViewRow row = DataGridView1.Rows[index]; row.Cells["colnameX"].ToolTipText = " hover and see me"; } }