-
Form1 form = new Form1
یه مشکل با فرم ها دارم
مثلا ما دو تا فرم دارم می خوام از توی فرم دوم برای مثال عنوان فرم اول ( اصلی ) رو تغییر بدم
باید توی فرم 2 بنویسم Form 1 Form = new Form1 ();
که در این صورت یه فرم جدید می سازه و عنوان اون رو تغییر می ده
من می خوام همون فرمی که هست رو عنوانشو تغییر بدم
و فرم جدیدی نسازم
-
-
اولی که VB.net که نیاز به New نداره و می شه همینجوری ازش استفاده کرد
من مشکلم با C# ه
اون بحثتونم که فکر نکنم به نتیجه رسید حالا راهی هست یا نه ؟
-
سلام
همانطور که در آن تاپیک ها هم مشابه اینها را گفته بودم...
شما باید از اصول شی گرایی استفاده کنید و اشاره گر اشیایی را که لازم دارید در متغییری محلی نگاه دارید...
مثلا فرضاً دو فرم داریم form1 و form2 میخواهیم form2 بتواند به خواصی در فرم form1 دسترسی پیدا کند و form2 بتواند form1 را تغییر دهد...
درست؟
کد form2 را چنین مینویسیم:
کد:
public class form2
:System.Windows.Forms.Form
{
//...
public form1 m_Form;
private void test()
{
this.m_Form.BackColor = System.Drawing.Color.Blue;
}
//...
}
و در form1 برای باز کردن فرم جدید form2 چنین مینویسید...
کد:
public class form1
:System.Windows.Forms.Form
{
//...
private void Fucn....
{
form2 f = new form2();
f.m_Form = this;
f.Show();
}
//...
}
=====
یا این کدها ...
کد:
public class form2
:System.Windows.Forms.Form
{
private form1 m_Form;
public form2(form1 f)
{
this.InitializeComponent();
this.m_Form = f;
}
private void test()
{
this.m_Form.BackColor = System.Drawing.Color.Blue;
}
//...
}
و
public class form1
:System.Windows.Forms.Form
{
//...
private void Fucn....
{
form2 f = new form2(this);
f.Show();
}
//...
}
امیدوارم متوجه شده باشید.
موفق باشید.