2

文字列にコントロールの名前があり、コントロールを操作したいのですが、文字列を c# でそのコントロールの現在のフォーム インスタンスに変換するにはどうすればよいですか?

例えば

string controlName = "Button1";

ここには何が入りますか?

button1.text = "Changed";

ありがとう

4

3 に答える 3

3
Button button1 = (Button)this.Controls[controlName];
于 2009-11-23T15:49:46.227 に答える
1

コントロール コレクションでコントロールを検索し、正しい型にキャストする必要があります。これは WPF 、WinForms、または ASP.Net にありますか?

于 2009-11-23T15:49:19.693 に答える
1

フォーム内で、次のように記述できます (c#)

this.Controls["Button1"].Text = "Changed";

私は、これは vb.net の構文である可能性があると思います

Me.Controls("Button1").Text = "Changed"

編集:それがコンパイルされるかどうかはわかりません。@Binary Worrierは正しい

Button btn1 = this.Controls["Button1"] as Button;
btn1.Text = "Changed";
于 2009-11-23T15:50:17.880 に答える