单击按钮时传递数据?

时间:2013-08-23 13:38:07

标签: vb.net winforms button

我在整个窗口中的不同类型的文本框旁边有几个按钮,它们运行相同类型的流。我决定通过在Handles中添加逗号分隔符将所有_click事件聚合成一个事件。有没有办法告诉我通过某个属性点击了哪个按钮,以便我只能使用case语句或那些范围内的某些特定文本字段?因为它都是通过一次点击事件处理的(因为我不想制作10个以上的点击事件只是为了运行其他按钮运行的相同功能,保存代码和可读性)是否有某种方法可以找出点击了哪个按钮?

2 个答案:

答案 0 :(得分:1)

您可以尝试这样的事情:

Public Sub YourEventHandlerName(sender As object, e As EventArgs)
    Select CType(sender, Button).Name
        Case "Button1_Name"
            'Do what ever you wanted to do in here
        Case "Button2_Name"
            'Do what ever you wanted to do in here
    End Select
End Sub

答案 1 :(得分:1)

在你的委托中,你有两个参数:Object sender和EventArgs e。 只需将发件人对象转换为按钮对象,然后您就可以处理一个按钮及其所有属性:

private void button_Click(object sender, EventArgs e)

        {
            Button btn = sender as Button;
            string name = btn.Name;
        }
编辑:对不起,没注意到VB.NET标签,但我会留下我的答案以防万一;)