我怎样才能得到一个简单的方法来验证一个按钮是否被点击,如果是,改变它的文本

本文关键字:一个 如果 文本 改变 是否 按钮 简单 验证 方法 | 更新日期: 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";
相关文章: