我怎样才能得到一个简单的方法来验证一个按钮是否被点击,如果是,改变它的文本
本文关键字:一个 如果 文本 改变 是否 按钮 简单 验证 方法 | 更新日期: 2023-09-27 18:04:44
我有一个面板,我有很多按钮。有没有办法检查这些按钮是否被点击了,如果被点击了,改变那个特定按钮的文本?
我一直在寻找,直到现在我找到的是这个
foreach (Control button in panel1.Controls)
{
if ( button.Click == ??? ) //I can't use '==',
//but I don't know what to do here
{
//changing the text would happen here
}
}
谁能帮我一下吗?
你可以让所有的按钮使用相同的点击事件处理程序:
protected void Button_Clicked(object sender, EventArgs e)
{
((Button) sender).Text = "Insert Text Here";
}
在构造函数中:
this.Button1.Click += new System.EventHandler(this.Button_Clicked);
this.Button2.Click += new System.EventHandler(this.Button_Clicked);
您可以做的最简单的事情是将相同的事件处理程序附加到所有Buttons
单击Panel
中的事件。
var buttons = panel1.Controls.OfType<Button>();
foreach(var btn in buttons)
btn.Click += Button_Click;
private void Button_Click(object sender, EventArgs e)
{
var btn = sender as Button;
if(btn != null) btn.Text = "Something else";
}
或者你可以用lambda语句来代替单独的方法:
var buttons = panel1.Controls.OfType<Button>();
foreach(var btn in buttons)
btn.Click += (s,e) => ((Button)s).Text = "Clicked";