4
Reply

How to access Form1 controls from another class?

ben sen

ben sen

Aug 28 2011 8:18 AM
2k
Hi all c#corner forums,
I'm trying to create my class, but I couldn't succeed to work this code. When I run program, newSerial.sendData() in the Form1.Load() (this is my function which is in my own class) works perfectly, but when I clicked the button (you can see the code, I'm calling the same function) program throws "NullReferenceException" error. What is the solution?

[CODE]
namespace
robitSeri
{
   
   
public partial class Form1 : Form
   
{
 public mySerial newSerial;

 private void Form1_Load(object sender, EventArgs e) { mySerial newSerial = new mySerial(this); newSerial.sendData();
 
  // THIS WORKS EXCELLENTLY..
 }
 private void button1_Click(object sender, EventArgs e)
 {
 newSerial.sendData();
 // THIS CODE DOES NOT WORK!!!
 }
 
       
// this is original class which is automatically created when
       
// I create new Windows Form application
       
// And I can control everything when I'm coding in this class
   
}

   
public class mySerial // this class created by me
   
{
 private Form1 frm;

 public mySerial(Form1 newFrm)
 {
 this.frm=newFrm;
 }

           
public void sendData()
           
{
             frm.serialPort1
.Write(sth);
           
}

     
// I can't reach Form1 controls from this class.
   
}
[/CODE]



Answers (4)