سلام
یک مثال ساده :
در ابتدا باید اشیایی که میخواهی به آنها میخواهی دسترسی داشته باشی باید
public باشن .
برای این کار از داخل پنجره Properties گزینه Modifiers شیئ مد نظر رو مثل Button1
از Private به Public تبدیل میکنی .
و برای دسترسی به فرم اصلی یا هر فرم دیگه میتونی اون فورم رو به کلاس مد نظر ارسال کنی مثل کد زیر
اگه از سازنده کلاس استفاده کنی
class Class1
{
Form1 frm1;
public Class1(Form1 frm)
{
frm.button1.BackColor = Color.Red;
frm1 = frm;
}
}
کد فرم
private void button1_Click(object sender, EventArgs e)
{
Class1 c1 = new Class1(this);
}
اگه از یک متد استفاده کنی
class Class2
{
Form1 frm1;
public void setForm(Form1 frm)
{
frm1 = frm;
frm1.Width = 50;
}
}
کد فرم
private void button2_Click(object sender, EventArgs e)
{
Class2 c2 = new Class2();
c2.setForm(this);
}
این شکلیم میشه
class Class3
{
Form1 frm1;
public Form1 Frm1
{
get
{
return frm1;
}
set
{
frm1 = value;
}
}
}
کد فرم
private void button3_Click(object sender, EventArgs e)
{
Class3 c3 = new Class3();
c3.Frm1 = this;
}
اینم مخصوص دسترسی آسان از یک فرم به فرم مالک
((Form1)this.Owner).button3.BackColor = Color.Red;
کد فرم
privatevoid button4_Click(object sender, EventArgs e)
{
Form2 frm2 = newForm2();
frm2.Owner = this;
frm2.Show();
}