动态工具提示取决于数据网格中的行上的鼠标(NOT datagridview)

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)

Mar*_*čič 2

为什么不在网格上处理 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)