c# - Why does my disableButtons method not work? -


i working on schoolproject c# , making tic tac toe. have little problem though..

my code used work fine untill build in scoreboard.

i think scoreboard overruling disablebuttons.. before added scoreboard worked fine..

can @ code , tell me what's wrong?

it's supposed work this:

play, if there winner, disable buttons. please me out!

edit: don't know why namespace in textfield..

namespace tic_tac_toe {     public partial class form1 : form     {         bool turn = true; //true = x en false = o         int turn_count = 0;         static string player1, player2;          public form1()         {             initializecomponent();         }          public static void setplayername(string n1, string n2)         {             player1 = n1;             player2 = n2;         }          private void exittoolstripmenuitem_click(object sender, eventargs e)         {             application.exit();         }          private void abouttoolstripmenuitem_click(object sender, eventargs e)         {             messagebox.show("gemaakt door luca fraser", "about");         }          private void button_click(object sender, eventargs e)         {             button b = (button)sender;             if (turn)                 b.text = "x";             else                 b.text = "o";              turn = !turn;             b.enabled = false;             turn_count++;             checkforwinner();              if (turn_count % 2 == 0)             {                 lblturn.text = player1 + " aan de beurt";             }             else             {                 lblturn.text = player2 + " aan de beurt";             }         }          private void checkforwinner()         {             bool thereiswinner = false;              //horizontaal checken             if((btna1.text == btna2.text) && (btna2.text == btna3.text) && (!btna1.enabled))                 thereiswinner = true;             else  if((btnb1.text == btnb2.text) && (btnb2.text == btnb3.text) && (!btnb1.enabled))                 thereiswinner = true;             else if((btnc1.text == btnc2.text) && (btnc2.text == btnc3.text) && (!btnc1.enabled))                 thereiswinner = true;              //verticaal checken             if ((btna1.text == btnb1.text) && (btnb1.text == btnc1.text) && (!btna1.enabled))                 thereiswinner = true;             else if ((btna2.text == btnb2.text) && (btnb2.text == btnc2.text) && (!btna2.enabled))                 thereiswinner = true;             else if ((btna3.text == btnb3.text) && (btnb3.text == btnc3.text) && (!btna3.enabled))                 thereiswinner = true;              //diagonaal checken             if ((btna1.text == btnb2.text) && (btnb2.text == btnc3.text) && (!btna1.enabled))                 thereiswinner = true;             else if ((btna3.text == btnb2.text) && (btnb2.text == btnc1.text) && (!btnc1.enabled))                 thereiswinner = true;               if (thereiswinner)             {                 disablebuttons();                  string winner = "";                 if (turn)                 {                     winner = player2;                     lblo.text = (int32.parse(lblo.text) + 1).tostring();                 }                 else                 {                     winner = player1;                     lblx.text = (int32.parse(lblx.text) + 1).tostring();                 }                 messagebox.show(winner + " wins!");             }             else             {                 if (turn_count == 9)                 {                     lbldraw.text = (int32.parse(lbldraw.text) + 1).tostring();                     messagebox.show("it's draw!");                 }             }          }          private void disablebuttons()         {             try             {                 foreach (control c in controls)                 {                     button b = (button)c;                     b.enabled = false;                 }             }             catch { }         }          private void newgametoolstripmenuitem_click(object sender, eventargs e)         {             turn = true;             turn_count = 0;                  foreach (control c in controls)                 {                     try             {                         button b = (button)c;                         b.enabled = true;                         b.text = "";                 }                     catch { }             }          }          private void form1_load(object sender, eventargs e)         {             form2 formtwo = new form2();             formtwo.showdialog();             lblxcount.text = player1;             lblocount.text = player2;             lblturn.text = player1 + " aan de beurt";         }          private void mouse_enter(object sender, eventargs e)         {             button b = (button)sender;             if (b.enabled)             {                 if (turn)                 {                     b.text = "x";                 }                 else                     b.text = "o";             }         }          private void mouse_leave(object sender, eventargs e)           {              button b = (button)sender;              if (b.enabled)             {                 b.text = "";             }          }          private void resetwincounttoolstripmenuitem_click(object sender, eventargs e)         {             lblo.text = "0";             lblx.text = "0";             lbldraw.text = "0";         }          private void lblocount_click(object sender, eventargs e)         {          }          private void lblocount_textchanged(object sender, eventargs e)         {          }         }     } 

here:

private void disablebuttons() {     try     {          foreach (control c in controls)         {             button b = (button)c;             b.enabled = false;         }     }     catch { } } 

when iterate on control not button, have exception , loop ends.

you can try this:

    foreach (control c in controls)     {         button b = c button;         if(b != null)             b.enabled = false;     } 

Comments

Popular posts from this blog

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

php - Find a regex to take part of Email -