如上所述考虑我的DataGridView,当鼠标悬停在NameID字段中的单元格上时,基于单元格中的值 - 应显示工具提示。 例如:如上图(图片)所示,当鼠标悬停在NameID字段中的值“3”上时 - “ABC”显示为工具提示,类似于“1”,它应显示“DBC”,依此类推。
以下是我用C#-Winforms编写的代码,基于此链接中的文章:https://msdn.microsoft.com/en-us/library/2249cf0a(v=vs.110).aspx
但这似乎不起作用,即使属性ShowCellToolTips也是真的。
void ToolTip1(object sender,DataGridViewCellFormattingEventArgs e)
{
if ((e.ColumnIndex == this.dataGridView1.Columns["NameID"].Index)
&& e.Value != null)
{
DataGridViewCell cell =
this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
if (e.Value.Equals("0"))
{
cell.ToolTipText = "Please update NameID as required, To know more click Help icon";
}
else if (e.Value.Equals("1"))
{
cell.ToolTipText = "DBC";
}
else if (e.Value.Equals("2"))
{
cell.ToolTipText = "XYZ";
}
else if (e.Value.Equals("3"))
{
cell.ToolTipText = "ABC";
}
}
}
我怎样才能做到这一点?如何使这项工作?
答案 0 :(得分:2)
您可以像这样使用CellMouseEnter
事件:
private void dataGridView1_CellMouseEnter(object sender, DataGridViewCellEventArgs e)
{
if ((e.ColumnIndex == this.dataGridView1.Columns["NameID"].Index))
{
//column name
DataGridViewCell cell =
this.dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex];
//column id
DataGridViewCell cell1 =
this.dataGridView1.Rows[e.RowIndex].Cells["NameID"];
cell.ToolTipText = "DBC";
if (cell1.Equals("0"))
{
cell.ToolTipText = "Please update NameID as required, To know more click Help icon";
}
else if (cell1.Equals("1"))
{
cell.ToolTipText = "DBC";
}
else if (cell1.Equals("2"))
{
cell.ToolTipText = "XYZ";
}
else if (cell1.Equals("3"))
{
cell.ToolTipText = "ABC";
}
}
}
在这里找到more