Чтобы получить значение (при условии, что вы хотите значение , а не текст) из переключателя, вы получите свойство Checked
:
bool isChecked = radioButton1.Checked;
Естьнет связи на основе кода между переключателями в GroupBox
(кроме переключателей, которые ведут себя таким образом, что одновременно проверяется только одна из переключателей в одном и том же контейнере);Ваш код должен будет отслеживать, какой из них проверен.
Самый простой способ сделать это, возможно, сделать так, чтобы переключатели внутри группового блока запускали один и тот же прослушиватель событий для события CheckedChanged
.В этом случае вы можете проверить аргумент sender
, чтобы отслеживать, какой из них выбран в данный момент.
Пример:
private enum SearchMode
{
TitleOnly,
TitleAndBody,
SomeOtherWay
}
private SearchMode _selectedSearchMode;
private void SearchModeRadioButtons_CheckedChanged(object sender, EventArgs e)
{
RadioButton rb = (RadioButton)sender;
if (rb.Checked)
{
if (rb == _radioButtonTitleOnly)
{
_selectedSearchMode = SearchMode.TitleOnly;
}
else if (rb == _radioButtonTitleAndBody)
{
_selectedSearchMode = SearchMode.TitleAndBody;
}
else
{
// and so on
}
}
}