2017-11-24 5 views
0

ラジオボタンの名前をチェックしたいと思います。名前は変数に格納されます。これどうやってするの?私はあなたがWinFormSystem.Windows.Forms)内のコードを使用していると仮定し変数でラジオボタンをチェックする(その名前)

string str = ""; 
str = so._settingValue; // RadioButton name 
RadioButton(str).Checked = true; 

答えて

1

...そう...

RadioButton button = this.Controls[name]; 
// where name is a string 

例:ここに私のコードは、これまでのところだ

String name = "MyRadioButton"; 
RadioButton button = (RadioButton)this.Controls[name]; 
Boolean isChecked = button.Checked; 

の場合コントロールはであり、別のコントロール(Panelまたはこのようなもの)にをネストした場合、上記の解決策は機能しません。この1つを使用する必要があります:

String name = "MyRadioButton"; 
RadioButton button = this.Controls.Find(name, true).FirstOrDefault() as RadioButton; 
Boolean isChecked = button.Checked; 
+0

私の答えは、申し訳ありませんでした。 –

+0

この行:button.Checked = true;私にnull参照例外エラーを与えています。これも機能しません:this.button.Checked = true; –

+0

OK待って待ってください...まず、あなたのコントロール名があなたが探している文字列と一致していることを確認する必要があります。次に、コントロールをネストすることはできません(別のコントロールに挿入)。私はネストされたコントロールの答えを更新するつもりです... –

関連する問題