如何访问部分用户类中的各个按钮

问题描述 投票:0回答:1

请原谅我问这个问题的愚蠢。我已经退休了,已经 20 多年没有接触过 SQL 或 Visual Studio。相信我,20 年前情况完全不同。我觉得无聊,决定学习 SQL、VS、VB .net 和 C#。

我创建了一个在不同表单上使用的部分用户类。该类有九个按钮,其中之一是退出。当我退出表单时,我想返回到调用表单。

我的问题是,一旦将类添加到表单中,我无法弄清楚如何处理我创建的类中各个按钮的单击事件。

所有按钮均声明为公共按钮。似乎没有事件来处理按钮的“点击”???或者无论如何识别点击了哪个按钮???

谢谢,

迈克

Form with partial class.

我想我可以捕获在这里单击的按钮,但我尝试过的一切都失败了。

Private Sub UserControl11_Click(sender As Object, e As EventArgs) Handles UserControl11.Click
    'How to identify which button has been clicked
    Dim oButton As DirectCast(sender, Text)
    MsgBox(oButton.text)
End Sub
vb.net class partial
1个回答
0
投票

执行此操作的正确方法是让用户控件引发专用事件。在内部,用户控件处理

Click
Button
事件。然后它引发表单处理的自己的事件。表单不关心用户控件的
Click
事件
. It cares about this event dedicated to the click of that specific 
Button`:

Public Event ExitButtonClick As EventHandler

Protected Overridable Sub OnExitButtonClick(e As EventArgs)
    RaiseEvent ExitButtonClick(Me, e)
End Sub

Private Sub ExitButton_Click(sender As Object, e As EventArgs) Handles ExitButton.Click
    OnExitButtonClick(EventArgs.Empty)
End Sub

表单现在像处理任何其他事件一样处理

ExitButtonClick
。如果您愿意,您可以将该活动命名为其他名称。

有关定义您自己的事件的更多信息,请参阅我的博客文章此处

© www.soinside.com 2019 - 2024. All rights reserved.