0

我在处理按钮时遇到问题。我的程序中有很多按钮,并且每个按钮都有一个功能。我得到了最后点击按钮的名称:

foreach (Control t in this.Controls)
{
    if (t.Focused)
    {
        ClickedButton = t.Name;
    }

}

然后我想更改按钮的文本:

ClickedButton.Text = "Whatever";

但我不能使用 ClickedButton 作为按钮的名称。

先感谢您!

4

3 回答 3

2

假设这是一个事件,你可以做这样的事情

Button btn = (Button)sender;
btn.Text = "Whatever";
于 2012-05-18T17:53:34.827 回答
0

如果您将单击的按钮调用到 Click 事件中,则应该将 sender 作为参数,您可以将其强制转换为 Button 并获取控件的名称。

由于您有按钮引用,因此您还可以设置控件的文本。

protected void btnTest_Click(object sender, EventArgs e)
{
    Button b = sender as Button;
    if ((b != null) && (b.Name == "btnTest"))
    {
         b.Text = "yay";
    }
}
于 2012-05-18T17:53:31.030 回答
0

如果你在你的button_click活动中写这个,

您可以像这样获取按钮:

Button BTN = sender as Button;
BTN.Text = "This Button Has Been Clicked!";
于 2012-05-18T17:58:12.273 回答