2013-12-17 3 views
3

Так вот мои options (имена) для radio button:Как получить значение переключателя?

4 
2 
1 
0.5 
0.25 

Я попытался использовать это, но это дает мне ошибку:

multiplier = Convert.ToDouble(radioButton1.SelectedItem.ToString()); 

Сообщение об ошибке:

'System.Windows.Forms.RadioButton' does not contain a definition for 'SelectedItem' and no extension method 'SelectedItem' accepting a first argument of type 'System.Windows.Forms.RadioButton' could be found (are you missing a using directive or an assembly reference?) 

Как установить значение множителя в зависимости от того, что пользователь установил в radio button?

+0

Какое сообщение об ошибке ??? –

+0

@ChristmasUnicorn Отредактировано. – puretppc

ответ

3

Как указано в сообщении об ошибке, RadioButton не имеет свойства SelectedItem. Вместо этого вы должны получить текст радиообмена.

multiplier = Convert.ToDouble(radioButton1.Text); 

Если вы хотите проверить, если выбранный элемент, используйте Checked свойство вместо

if (radioButton1.Checked) 
{ 
    multiplier = Convert.ToDouble(radioButton1.Text); 
} 

В вашем случае вы можете использовать цикл

foreach (RadioButton d in this.Controls.OfType<RadioButton>()) 
{ 
    if (d.Checked) 
    { 
     multiplier = Convert.ToDouble(d.Text); 
    } 
} 
+0

Что делать, если пользователь выбирает другой переключатель? Будет ли это делать множитель, основанный на выборе переключателя? Итак, если пользователь выбрал четвертый переключатель, коэффициент умножится на 0,5? – puretppc

+0

@puretppc Проверьте мое редактирование –

+0

Спасибо, что это сработало :) – puretppc

0

radioButton1.Text даст вам значение выбранного элемента.

Смежные вопросы