Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>Following is a generic RadioGroupBox implementation in the spirit of ArielBH's suggestion (some code borrowed from Jay Andrew Allen's <a href="http://www.codeproject.com/KB/combobox/RadioPanel.aspx" rel="noreferrer">RadioPanel</a>). Just add RadioButtons to it, set their tags to different integers and bind to the 'Selected' property.</p> <pre><code>public class RadioGroupBox : GroupBox { public event EventHandler SelectedChanged = delegate { }; int _selected; public int Selected { get { return _selected; } set { int val = 0; var radioButton = this.Controls.OfType&lt;RadioButton&gt;() .FirstOrDefault(radio =&gt; radio.Tag != null &amp;&amp; int.TryParse(radio.Tag.ToString(), out val) &amp;&amp; val == value); if (radioButton != null) { radioButton.Checked = true; _selected = val; } } } protected override void OnControlAdded(ControlEventArgs e) { base.OnControlAdded(e); var radioButton = e.Control as RadioButton; if (radioButton != null) radioButton.CheckedChanged += radioButton_CheckedChanged; } void radioButton_CheckedChanged(object sender, EventArgs e) { var radio = (RadioButton)sender; int val = 0; if (radio.Checked &amp;&amp; radio.Tag != null &amp;&amp; int.TryParse(radio.Tag.ToString(), out val)) { _selected = val; SelectedChanged(this, new EventArgs()); } } } </code></pre> <p>Note that you can't bind to the 'Selected' property via the designer due to initialization order problems in InitializeComponent (the binding is performed before the radio buttons are initialized, so their tag is null in the first assignment). So just bind yourself like so:</p> <pre><code> public Form1() { InitializeComponent(); //Assuming selected1 and selected2 are defined as integer application settings radioGroup1.DataBindings.Add("Selected", Properties.Settings.Default, "selected1"); radioGroup2.DataBindings.Add("Selected", Properties.Settings.Default, "selected2"); } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload