2017-04-24 11 views
0

1つのコントロールですべてのラジオボタンを制御する方法はありますか?各ラジオボタン(C#)のコントロールを渡す代わりに、私は現在winformをC#でオンラインショップを作成しています。

「買い物カゴ」関連のテキストボックスを作成しています。ユーザーが特定のラジオボタンをクリックすると、テキストボックスに商品の説明がテキストボックスに表示されます。

ラジオボタンをグループボックスにグループ化し、すべてのラジオボタンに対して'SelectedIndex'コマンドに相当するものがあるかどうかを確認したいと思いますか?ありがとう。

+0

ファイルと同じ 'CheckedChanged'イベントにすべてのラジオボタンを購読します。 –

+0

@DangerZoneこの例を挙げてもらえますか? p.s.一度に複数のラジオボタンを選択することができます。ありがとうございました! – TheBiz

+1

複数のグループを同時に選択できる場合は、同じグループボックスにグループを含めないでください。代わりにチェックボックスを使用してください。 –

答えて

0

すべてのラジオボタンを同じイベントに登録するだけです。次に、各ボタンのコードを重複させるのではなく、チェックされ、それに応じて行動することができます。
以下は、チェックボックスが表示されるテキストボックスのTextプロパティを設定する簡単な例です。 .designer.csで

Formクラス

public partial class Form1 : Form 
{ 

    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void radioButtons_CheckedChanged(object sender, EventArgs e) 
    { 
     //Do whatever you need to do here. I'm simple setting some text based off 
     //the name of the checked radio button. 

     System.Windows.Forms.RadioButton rb = (sender as System.Windows.Forms.RadioButton); 
     textBox1.Text = $"{rb.Name} is checked!"; 
    } 
} 

//Note that the EventHandler for each is the same. 
this.radioButton3.CheckedChanged += new System.EventHandler(this.radioButtons_CheckedChanged); 
this.radioButton2.CheckedChanged += new System.EventHandler(this.radioButtons_CheckedChanged); 
this.radioButton1.CheckedChanged += new System.EventHandler(this.radioButtons_CheckedChanged); 
+0

これはうまくいくかもしれませんが、リストの形式でテキストボックスに値を入れる方法はありますか?ユーザーが3つのラジオボタンをクリックすると、テキストボックス内に3つの製品のリストが作成されますか? 私はこれを複雑にしているように感じます。別の方法がなければ、代わりにボタンを使う必要があります。ありがとう! – TheBiz

+0

@ TheBiz - まず、質問自体についての私のコメントで述べたように、複数のラジオボタンを選択できる場合は、ラジオボタン以外を選択します。フォーム上の同じエリアにある場合は、一度に1つしか選択されません。さもなければ、チェックボックスはより良いUXです。しかし、あなたの質問に答えるためには、はい、テキストボックスを複数行にし、その場合はチェックされたものに基づいてテキストを作成してください。 –

+0

ラジオボタンが効率的に動作するように製品を分類しているので、これは私にとって完璧に機能しています。しかし、私はテキストボックスに値を入力する自分のコードと一緒に使用していますが、実際の製品ではなく「デザイン名」が表示されます。クラスを使用して商品を定義しましたが、ラジオボタンをクリックすると、ボタンのデザイン名ではなく商品が表示されますありがとう(申し訳ありませんが、これは本当に簡単な質問です) – TheBiz

0

一度に複数のラジオボタンを選択できるようにするには、ラジオボタンの代わりにチェックボックスを使用することをおすすめします。すべてのイベントを同じ単一のイベントに割り当て、チェックボックスのいずれがチェックされているかを制御することができます。

関連する問題