I want to be able to get Form1 properties from within a class. Properties such as Width, Left, WindowState, and so on. So that I can then do this in the class: MessageBox.Show(Form1.Width); So I want to reference the whole Form1. How do I do that in code?
CodePudding user response:
Example 1: Storing the instance in a global variable,
public static Form1 frm1;
//Form1 constructor
frm1 = this;
e.g.
public static Form1 frm1;
public Form1()
{
InitializeComponent();
frm1 = this;
MessageBox.Show(Form1.frm1.Width.ToString());
}
Example 2: You need to pass an instance to the class.
public class Class1
{
private Form1 _frm1;
public Class1(Form1 frm1)
{
this._frm1 = frm1;
}
}
e.g.
public class Class1
{
private Form1 _frm1;
public Class1(Form1 frm1)
{
this._frm1 = frm1;
MessageBox.Show(this._frm1.Width.ToString());
}
}