2017-05-10 10 views
-1

私は開発したwinformがあります。ラジオボタン、チェックボックス、ドロップダウン、およびテキストボックスはほとんどありません。Winformコントロールの変更イベントfire

例、言及したコントロールでの選択に基づいてテキストボックスを入力する必要があります:最初の値dropdown1`s radiobtn1、CheckBox1を&を選択していた場合、それは

こので閲覧
txtBox.text = radiobtn1.Text_checkBox1.Text_dropdown1.SelectedIndex 

以下のようにする必要がありますデリゲートを使用してそれを実行できることがわかりましたが、12個のコントロールがありますが、デリゲートを使用することをお勧めしますか? このコードを書くための他の簡単な方法はありますか?

+0

これは「Do my myework」フォーラムではありません。 – Marshal

答えて

0

おそらくコードを書く最も簡単な方法は、テキストボックスを埋めるイベントハンドラを作成することです。

private void UpdateTextbox(object sender, EventArgs e) 
{ 
    //find the text 
    txtBox.Text = string.Format("{0}_{1}_{2}", radiobtn1.Text, checkBox1.Text, dropdown1.SelectedIndex); 
} 

次に、他のコントロールをイベントハンドラに変更することによって発生したすべてのイベントをリンクするだけでよいのです。

//Add these lines to the constructor of your control 
radiobtn1.CheckChanged += UpdateTextbox; 
checkbox1.CheckChanged += UpdateTextbox; 
//and so on 
+0

radiobtn2以降が変更された場合、コードを使用して置換えできません。 – StackHack

+0

はいできます。私は単純な 'UpdateTextbox'関数を示しましたが、どのラジオボタンがチェックされているのかを確認し、そのラジオボタンのテキストを使用することができます。 –

関連する問題