如何在VB6应用程序中使用.NET组件触发事件?

时间:2011-12-19 09:05:23

标签: .net vb6 com-interop

我有一个VB6应用程序,它引用并调用.NET GUI组件。 .NET GUI组件具有数据网格。我想双击数据网格中的一行以使VB6应用程序中的表单显示?

我怎么能这样做?

1 个答案:

答案 0 :(得分:3)

我假设您通过COM互操作访问.NET对象,在这种情况下,您只需在控件中创建一个普通事件,然后就可以像在执行任何其他控件事件时那样在使用者(VB6)中查找它。

public MyNetClass {
  public delegate void RowDoubleClickedDelegate(int Row);

  public event RowDoubleClickedDelegate RowDoubleClicked;

  protected void OnRowDoubleClicked(int row) {
    if (RowDoubleClicked != null) {
      RowDoubleClicked(row);
    }
  }
}

在VB6中:

Dim WithEvents NetObect As MyNetClass

Private Sub MyNetClass_RowDoubleClicked(ByVal Row As Long)
  MsgBox CStr(Row) & " clicked"
End Sub