2010-09-06 6 views

Antwort

9

Vielleicht nicht der schnellste Weg, aber so etwas wie dies funktionieren soll:

private RadioButton GetSelectedRadioButton(string groupName) 
{ 
    return GetSelectedRadioButton(Controls, groupName); 
} 

private RadioButton GetSelectedRadioButton(ControlCollection controls, string groupName) 
{ 
    RadioButton retval = null; 

    if (controls != null) 
    { 
     foreach (Control control in controls) 
     { 
      if (control is RadioButton) 
      { 
       RadioButton radioButton = (RadioButton) control; 

       if (radioButton.GroupName == groupName && radioButton.Checked) 
       { 
        retval = radioButton; 
        break; 
       } 
      } 

      if (retval == null) 
      { 
       retval = GetSelectedRadioButton(control.Controls, groupName); 
      } 
     } 
    } 

    return retval; 
} 
0

Verwenden Sie das Attribut "GroupName", um Optionsfelder in einer Gruppe zu gruppieren. Dadurch verhalten sie sich wie eine Gruppe. Sie müssen sie immer noch einzeln nach dem geprüften Status abfragen.

+0

Ja, sie sind in einer Gruppe. Ich hoffe, etwas wie GetSelectedRadioButton (groupName) zu finden – naveed

+0

Ich bin mir nichts dergleichen bewusst. Die nächstbeste Alternative wäre, dass alle Checkboxen in einer Gruppe das selbe checkchanged Event auslösen. Im Ereignishandler müssen Sie nur den Namen des Steuerelements überprüfen, das das Ereignis ausgelöst hat. –

Verwandte Themen