c# - Losing variable value when changing forms -


i have simple program, figure out how use multiple forms in c#. have form1(form1), , form2(form2). on form1 have button, label, , serial port. on form2 have button, , label. program does, when click button closes form opens other, changes text in label, , changes baudrate. here code form1:

public partial class form1 : form {     //making refernce of form2 called 'form2'.     form2 form2 = new form2();      public form1()     {         initializecomponent();     }     public void button1_click(object sender, eventargs e)     {         //able reference form2 in style replicated vb.net         form2.show();         this.hide();         form2.label2.text = ("hello2");     }      public void form1_load(object sender, eventargs e)     {         label1.text = ("start!");         applicationport.baudrate = 200;     } 

here code form2:

public partial class form2 : form {     public form2()     {         initializecomponent();     }     public void button1_click(object sender, eventargs e)     {         //declaring new instance of form1 called 'form1'.         var form1 = new form1();              this.hide();         form1.show();         form1.label1.text = ("hello");         messagebox.show(form1.applicationport.baudrate.tostring());     }      public void form2_load(object sender, eventargs e)     {         //declaring new instancce form1 called 'form1'.         var form1 = new form1();         messagebox.show(form1.applicationport.baudrate.tostring());      } } 

so happening, when start program baudrate 200. when click button, , second form opens, in load event have message box showing baudrate 9600, default value. when click button in form2, message box shows original baudrate of 200. why load event handler isnt getting value? writing referencing, or wrong? working visual studio 2010 express winforms.

    var form1 = new form1();     messagebox.show(form1.applicationport.baudrate.tostring()); 

with creating new instance of form1 have settings set default values.

you need pass existing instance of form1 object newly created form2 object.

public partial class form2 : form {     form1 form1;     public form2(form1 frm)     {         form1 = frm;         initializecomponent();      }     public void button1_click(object sender, eventargs e)     {         //declaring new instance of form1 called 'form1'.         //var form1 = new form1();              this.hide();         form1.show();         form1.label1.text = ("hello");         messagebox.show(form1.applicationport.baudrate.tostring());     }      public void form2_load(object sender, eventargs e)     {         //declaring new instancce form1 called 'form1'.         messagebox.show(form1.applicationport.baudrate.tostring());      } }  public partial class form1 : form {     //making refernce of form2 called 'form2'.     form2 form2; // pass instance of object form2!      public form1()     {         form2 = new form2(this)         initializecomponent();     }     public void button1_click(object sender, eventargs e)     {         //able reference form2 in style replicated vb.net         form2.show();         this.hide();         form2.label2.text = ("hello2");     }      public void form1_load(object sender, eventargs e)     {         label1.text = ("start!");         applicationport.baudrate = 200;     } 

Comments

Popular posts from this blog

ios - UICollectionView Self Sizing Cells with Auto Layout -

node.js - ldapjs - write after end error -

DOM Manipulation in Wordpress (and elsewhere) using php -