質問

ボタンのアドレス指定に問題があります。私のプログラムには多くのボタンがあり、私はすべてのボタンで使用される機能を持っています。 これで最後のクリックされたボタンの名前を取得しています。

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!";
.

クリックされたボタンをクリックしているボタンをクリックしている場合は、送信者を引数として持ち、ボタンにキャストしてコントロールの名前を取得する必要があります。

ボタン参照がありますので、コントロールのテキストも設定できます。

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