RadioButtonコントロールはGroupBoxやPnaelコントロール上に配置することでグループ化できます。
たとえばフォーム上に「性別」という選択肢と「メインで使用する開発言語」という選択肢をしようしたい場合は、グループ化する必要があります。
グループ化しなければ、フォームに配置したすべてのRadioButtonコントロールが同一グループと見なされますので注意が必要です。
下記は、GroupBoxコントロールを使用してグループ化する例です。
[選択状態を表示]ボタンがクリックされると、現在選択されているのがどの項目かを表すメッセージを表示します。
GroupBoxコントロールのControlsプロパティを参照し、どの項目がチェックされているのかを調べています。
VBの例
' [選択状態を表示]ボタンクリック時の処理
Private Sub btnShowMsg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnShowMsg.Click
Dim msg As String = ""
'性別(GroupBox1)の選択項目を取得
For Each rdoSex As Windows.Forms.RadioButton In GroupBox1.Controls
If rdoSex.Checked Then
msg = "性別は " & rdoSex.Text & ControlChars.NewLine
Exit For
End If
Next
'メインで使用している言語(GroupBox2)の選択項目を取得
For Each rdoLanguage As Windows.Forms.RadioButton In GroupBox2.Controls
If rdoLanguage.Checked Then
msg &= "メインで使用している言語は " & rdoLanguage.Text &
ControlChars.NewLine & "が選択されています"
Exit For
End If
Next
'メッセージの表示
MessageBox.Show(msg)
End Sub
C#の例
// [選択状態を表示]ボタンクリック時の処理
private void btnShowMsg_Click(object sender, EventArgs e)
{
string msg = "";
// 性別(GroupBox1)の選択項目を取得
foreach (System.Windows.Forms.RadioButton rdoSex in groupBox1.Controls)
{
if ( rdoSex.Checked )
{
msg = "性別は " + rdoSex.Text + "\r\n";
break;
}
}
// メインで使用している言語(GroupBox2)の選択項目を取得
foreach (System.Windows.Forms.RadioButton rdoLanguage in groupBox2.Controls)
{
if (rdoLanguage.Checked)
{
msg += "メインで使用している言語は " + rdoLanguage.Text +
"\r\nが選択されています";
// メッセージの表示
MessageBox.Show(msg);
}
}
}
Please follow and like us:


コメント