0

我正在使用DevExpress.XtraGrid.GridControlc# 中的 a 和双击事件。事件处理程序签名接受一个对象和 EventArgs 作为它的参数:

  private void gvHL7_DoubleClick(object sender, EventArgs e){
     .
     .
     .
  }

但是,我想使用 .Point 属性,而 EventArgs 没有该属性。我知道 DevExpress.XtraGrid.Views.Grid.GridMenuEventArgs 确实如此,但它说这是一个无效的转换。如果我想访问 .Point 属性,我应该将 EventArgs 实例转换为什么类型?

编辑:我正在使用的双击功能是由 devexpress 为他们的网格提供的。

4

3 回答 3

2

请参阅DevExpress 支持站点中的此示例。您需要强制sender转换才能获得Point.

private void gridView1_DoubleClick(object sender, EventArgs e)
{
    GridView view = (GridView)sender;    
    Point pt = view.GridControl.PointToClient(Control.MousePosition);    
}
于 2012-12-04T22:41:53.780 回答
0

C# 中的DoubleClick事件仅告诉您发生了双击。如果您需要鼠标坐标,则需要捕获MouseClick事件或使用MousePosition引发事件的控件的属性(在这种情况下,gvHL7.MousePosition很可能)。

于 2012-12-04T22:37:05.957 回答
0

我解决了这个问题,但无法获得点属性。相反,我将 EventArgs 转换为 MouseEventArgs 并通过 .X 和 .Y 属性将坐标传递给函数。

于 2012-12-04T22:47:08.447 回答