2013-09-26 9 views
0

У меня есть 2 переключателя, которые, как предполагается, создают прямоугольник двух разных цветов, что просто означает, что когда пользователь выбирает радиокнопку, он должен генерировать прямоугольник красного цвета, и если пользователь выбирает переключатель два он должен создать синий прямоугольник цвета.Выбор и снятие радиокнопки

Проблема заключается в том, что после выбора переключателя один (создается прямоугольник), и если пользователь выбирает переключатель 2, он создает еще один красный прямоугольник, затем синий прямоугольник (что правильно), но проблема в том, что пользователь выбирает 2, он не должен создавать другой красный прямоугольник. Я думаю, что есть проблема с снятием флажка, но я не могу найти правильное решение. Вот что я сделал для радиокнопок: -

private void rbOne_CheckedChanged(object sender, EventArgs e) 
    { 
     if (rbOne.Checked) 
     { 
      status = rbOne.Text; 
      buff.write(Color.Red, status); 
     } 
    } 

    private void rbTwo_CheckedChanged(object sender, EventArgs e) 
    { 
     if (rbTwo.Checked) 
     { 
      status = rbTwo.Text; 
      buff.write(Color.Blue, status); 
     } 
    } 

То, что кажется проблема здесь?

Спасибо за ваше время.

ответ

1

Вы должны проверить выбор радиокнопки как в событии изменения проверки переключателя, так и в первую очередь, чтобы сначала проверить его. Посмотрите здесь

private void rbOne_CheckedChanged(object sender, EventArgs e) 
    { 
     if (rbTwo.Checked) 
     { 
     // make it uncheck and remove the red rectangle 
     } 
     { 
     if (rbOne.Checked) 
     { 
      status = rbOne.Text; 
      buff.write(Color.Red, status); 
     } 
    } 

private void rbTwo_CheckedChanged(object sender, EventArgs e) 
{ 
    if (rbOne.Checked) 
    { 
    // make it uncheck and remove the blue rectangle 
    } 
    if (rbTwo.Checked) 
    { 
     status = rbTwo.Text; 
     buff.write(Color.Blue, status); 
    } 
} 

или либо вы можете проверить кнопку радио проверяется свойство первым для каждого из них, если один будет установлен, то не создать еще один прямоугольник.

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