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