2012-11-24 7 views
11

グループボックスにはラジオボタン などが含まれています。ラジオボタンの価値を得るには?

O男性

O女性

私は私のコードは、ラジオボタンの選択された値を取得したいと が親切に簡単なコード原因mを使用し、可変文字列型にコピーしますあまりプロフェッショナルではない

ありがとう

+1

ためcommomイベントハンドラを使用しますか? –

+1

こんにちは@CodingMash彼はどこでも「レシオボタン」と呼ばれています。 – sajanyamaha

+0

そのタイプは間違いなく、ラジオボタンの例として男性の女性のものを挙げています。 –

答えて

18

場合、すべてのチェックボックスをチェックする必要がある1つをチェックする必要があります:値を取得するには

(テキストではなく値を入力したいと仮定して)ラジオボタンの外にCheckedプロパティがあります。

string value = ""; 
bool isChecked = radioButton1.Checked; 
if(isChecked) 
    value=radioButton1.Text; 
else 
    value=radioButton2.Text; 

Webフォームの場合:いくつかのボタンでCS-

そして、あなたはまた、あなたのラジオボタンのための共通のイベントを使用することができますし、あなたが渡すことTagプロパティを使用することができます

string value=rdoPriceRange.SelectedItem.Value.ToString(); 
5

あなたは2

if(rbMale.Checked) 
{ 

} 
else 
{ 

} 

を持っている場合は、より多くの、2つのWinフォームの

if(rb1.Checked) 
{ 

} 
else if(rb2.Checked) 
{ 

} 
else if(rb3.Checked) 
{ 

} 
+0

デフォルトのプロパティセットがない場合は、2つがあるかどうかをチェックする必要があります。 – Jesse

+1

トピックを切り捨てますが、正しくプログラムを作ってください: "if(a == true)"をチェックするとbooleanが "if(a)"をチェックするのに十分ではありません。あなたのメソッドは "if(a == true){b = true;} else {b = false;}"のように見えますが、実際には "b = a;" –

1

をクリックしてください情報を文字列に追加するか、文字列にRadioButtonのTextと同じ値を保持する場合は、Textプロパティを使用できます。

このようなものです。

private void radioButton_CheckedChanged(object sender, EventArgs e) 
{ 
    if (((RadioButton)sender).Checked == true) 
     sex = ((RadioButton)sender).Tag.ToString(); 
} 
1

私は一般的なイベントは、上記の使用はうまく機能することを発見し、あなたがこのように設定する一般的なイベントかもしれない:もちろん

private void checkChanged(object sender, EventArgs e) 
    { 
     foreach (RadioButton r in yourPanel.Controls) 
     { 
      if (r.Checked) 
       textBox.Text = r.Text; 
     } 
    } 

を、あなたは自分の中で他のコントロールを持つことはできませんグループボックス内のサブパネルを使用する場合やコントロールを整理する場合など、すべてのラジオボタン用に個別のパネルを使用する場合に便利です。

0

代わりに、 enumと標準RadioBuを拡張するコンポーネントクラストン。

public enum Genders 
{ 
    Male, 
    Female 
} 

[ToolboxBitmap(typeof(RadioButton))] 
public partial class GenderRadioButton : RadioButton 
{ 
    public GenderRadioButton() 
    { 
     InitializeComponent(); 
    } 

    public GenderRadioButton (IContainer container) 
    { 
     container.Add(this); 

     InitializeComponent(); 
    } 

    public Genders gender{ get; set; } 
} 

あなたはラジオボタンを意味するかGenderRadioButtons

private void Gender_CheckedChanged(Object sender, EventArgs e) 
{ 
    if (((RadioButton)sender).Checked) 
    { 
     //get selected value 
     Genders myGender = ((GenderRadioButton)sender).Gender; 
     //get the name of the enum value 
     string GenderName = Enum.GetName(typeof(Genders), myGender); 
     //do any work required when you change gender 
     switch (myGender) 
     { 
      case Genders.Male: 
       break; 
      case Genders.Female: 
       break; 
      default: 
       break; 
     } 
    } 
} 
関連する問題