c#中的多个OnClick事件
本文关键字:OnClick 事件 | 更新日期: 2023-09-27 18:15:40
我想问我是否有多个标签具有相同的功能Onclick,但具有不同的参数。没有30种方法我怎么能处理它们。我想用c#在windows窗体应用程序中制作A-Z过滤器。每个字符都有标签(A,B,C,D....,Z)。我也有从DB数据的TreeView。
private void labelLetter1_Click(object sender, EventArgs e)
{
//this.labelLetter1.Text
// get value of the label and refresh treeview
}
我想在每个字符上都这样做,但不要重复相同的代码
订阅示例事件到其他事件。试试这样:
private void labelLetter1_Click(object sender, EventArgs e)
{
Label lbl = (Label) sender;
var text = lbl.Text;
//this.labelLetter1.Text
// get value of the label and refresh treeview
}
现在将此事件设置为属性窗口中的其他标签。
sender
参数将是触发事件的原始对象。在你的例子中,它是一个Label
。这意味着您可以将object
转换为Label
。
此外,您可以创建一个单一的label_click方法,并让所有标签用户使用该方法。
例如:private void label_Click(object sender, EventArgs e)
{
String labelText = (sender as Label).Text;
//Your process
}