При запуске программы автоматически устанавливается флажок, но это не должно быть - PullRequest
4 голосов
/ 25 июня 2011

Я пишу приложение на C # с использованием Visual Studio 2010. Однако неожиданно началось самое странное.

У меня есть две коробки радио в верхней части окна, оба установлены на Checked = False. Я искал везде в коде, я не вижу причин, почему это было бы что-то, кроме False.

Теперь первый из этих двух полей (называемых Radio1 и Radio2 соответственно) начал автоматически проверяться при выполнении приложения. Это вызывает проблему, поскольку существует событие, связанное с установленными флажками, и теперь это событие запускается при каждом открытии программы (что приводит к серьезным проблемам).

У кого-нибудь есть идеи, почему этот флажок автоматически проверяется? Как я уже упоминал, я просматривал код повсюду на случай, если у меня где-нибудь болтается Radio1.Checked = true;. Но это не так.

Ответы [ 3 ]

8 голосов
/ 25 июня 2011

Класс RadioButton содержит код, обеспечивающий проверку хотя бы одной кнопки в группе, когда одна из них получает фокус, а для свойства AutoCheck установлено значение True. Это реализует стандартное поведение переключателей. Если вы хотите нестандартное поведение, вам нужно установить для их свойств AutoCheck значение false и выполнить проверку самостоятельно.

0 голосов
/ 07 марта 2013

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

form_load
  {
    counter=0;
   }
private void rb1_Click(object sender, EventArgs e)
    {
        if (counter == 0)   { counter++;}
        else {
               //Do your stuff
              }
    }
    private void rb2_Click(object sender, EventArgs e)
    {
        if (counter == 0)   { counter++;}
        else {
               //Do your stuff
              }
    }

Надеюсь, это полезно.

0 голосов
/ 25 июня 2011

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

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