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

あなたがあなたのbutton_clickイベントでこれを書いているなら、

あなたはこのようなボタンを手に入れることができます:

Button BTN = sender as Button;
BTN.Text = "This Button Has Been Clicked!";
于 2012-05-18T17:58:12.273 に答える
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 に答える