Med*_*000 6 c# dataview datagrid tooltip winforms
我试图让它成为当用户将鼠标悬停在我的DataGrid/dataview中的一行时,每一行都会显示不同的工具提示结果.
我无法弄清楚这一点.使用DataGrid我怎么能说每行上的mouseOver并给出行特定的数据?似乎所有我平常的在线资源都没有发现!
如果有一种方法可以使用datagridview,我不知道如何填充它(datagridview),因为每次程序运行时我的表的长度都不一样.(程序跟踪信号,所以如果收到更多信号,那么表格会有更多行...)
*注意:这是视觉工作室2005环境中的视觉C#2.0.
*结束了以下:
private void datagridSignal_MouseMove(object sender, MouseEventArgs e)
{
this.toolTip.Hide(datagridSignal);
this.toolTip.RemoveAll();
DataTable dt = GetSignalTable();
DataView dv = new DataView(dt);
Point prop = new Point(e.X, e.Y);
System.Windows.Forms.DataGrid.HitTestInfo myHitTest;
prop = datagridSignal.PointToClient(prop);
myHitTest = datagridSignal.HitTest(prop.X, prop.Y);
this.toolTip.SetToolTip(datagridSignal, " ID = '" + (int)dv[myHitTest.Row][0] + "' ");
}
Run Code Online (Sandbox Code Playgroud)
为什么不在网格上处理 MouseMove 事件?然后,您可以将鼠标的坐标转换为行手柄,并相应地更改网格的工具提示。
就像是:
private void dataGrid_MouseMove(object sender, MouseEventArgs e) {
var point = dataGrid.PointToClient(e.X, e.Y);
var hittest = dataGrid.HitTest(point.X, point.Y);
toolTip1.SetToolTip(dataGrid, hittest.Row); // add Tooltip conotrol to the form!!!
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10066 次 |
| 最近记录: |