【问题标题】:vb.net winforms how raise a custom event to a different controlvb.net winforms 如何将自定义事件引发到不同的控件
【发布时间】:2012-10-21 21:13:42
【问题描述】:

我制作了一个带有自定义列对象的自定义 datagridview。编辑按钮列中的一列,其右侧有一个文本框和一个按钮。这是一个用户控件。我遇到的问题是当用户按下控件上的按钮时,我希望在包含此列的 datagridview 上引发一个事件。我在 winforms 和 vb.net 中这样做。如果有人知道如何从具有按钮的用户控件列引发事件到包含该列的 datagridview,那么将不胜感激。

谢谢

【问题讨论】:

  • 你想要事件处理程序直接在DataGridView上,还是你想在Form的代码中添加它?
  • 感谢您询问我想要在表单的代码中使用它。

标签: vb.net winforms events datagridview user-controls


【解决方案1】:

在您的自定义控件中,只需声明控件将引发的事件:

Public Class MyUserControl

    Public Event MyEvent as EventHandler

...

   'Somewhere in you user control code, you want to raise the event
    RaiseEvent MyEvent(Me, EventArgs.Empty) 'using empty args for demo purposes

End Class

然后,在您的表单中,您只需像往常一样声明一个事件处理程序:

Private Sub MyUserControl_MyEvent(sender as Object, e as EventArgs) Handles MyUserControl.MyEvent

... 'Whatever you need to do in reaction to the event

End Sub

希望对你有帮助

【讨论】:

    猜你喜欢
    • 2010-11-08
    • 2011-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多