2013-05-31 2 views
0

Мне нужно установить флажок, чтобы переключаться между двумя методами, позволяющими/отключая некоторый элемент управления. Я использую следующий код, я пробовал и другими способами, но не повезло.Get checkbox unchecked state

private void checkBox1_CheckedChanged(object sender, EventArgs e) 
     { 

       if (checkBox1.Checked)//this is working 
       { 
        trackBar2.Enabled = false; 
        button3.PerformClick(); 
        textBox8.Enabled = true; 
       } 

      else// this is supposed to work if checkbox is unchecked but doesn't work 
      { 
       trackBar2.Enabled = true; 
       textBox8.Enabled = false; 
      } 
     } 

В результате я получаю то же самое. Если я поставлю флажок, первое условие встретится, и это нормально. Если я сниму флажок, ничего не произойдет и не вернется к первому условию. Как определить состояние проверки или неконтролируемого состояния?

+0

Я предпочитаю Click событие для этого типа обработки. – DonBoitnott

+1

Включает ли ваш button3.PerformClick() состояние флажка? Вы когда-нибудь вручную удаляли или добавляли события для флажка? Кажется, что он должен работать как есть, странно, что он не – Beau

+0

Ваш исходный код работает для меня ... –

ответ

0

Я думаю, вы должны добавить if(checkBox1.Checked == false) к еще:

private void checkBox1_CheckedChanged(object sender, EventArgs e) 
    { 

     if (checkBox1.Checked)//this is working 
     { 
       trackBar2.Enabled = false; 
       button3.PerformClick(); 
       textBox8.Enabled = true; 
     } 
     else if(checkBox1.Checked == false) 
     { 
      trackBar2.Enabled = true; 
      textBox8.Enabled = false; 
     } 
    } 
+0

Спасибо, это работает. Я был уверен, что попробовал, но, очевидно, я этого не сделал. – FeliceM

2

Вы также могли бы написать, что, как:

private void checkBox1_CheckedChanged(object sender, EventArgs e) 
    { 
     trackBar2.Enabled = !checkBox1.Checked; 
     textBox8.Enabled = checkBox1.Checked; 
     if (checkBox1.Checked) 
     { 
      button3.PerformClick(); 
     } 
    }