我在寻址按钮有问题。我的程序中有许多按钮,我有一个函数,每个按钮使用。 我收到了最后一个单击的按钮的名称:

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

}
.

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

ClickedButton.Text = "Whatever";
.

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

提前谢谢!

有帮助吗?

解决方案

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

Button btn = (Button)sender;
btn.Text = "Whatever";
.

其他提示

如果您在button_click事件中写入这一点,

可以获得这样的按钮:

Button BTN = sender as Button;
BTN.Text = "This Button Has Been Clicked!";
.

如果您已将单击的按钮调用入Click事件,则应将发件人作为参数,您可以投用到按钮并获取控件的名称。

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

protected void btnTest_Click(object sender, EventArgs e)
{
    Button b = sender as Button;
    if ((b != null) && (b.Name == "btnTest"))
    {
         b.Text = "yay";
    }
}
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top