PDA

View Full Version : سوال: اجرای کدهای Load فرم اول ، بعد از بسته شدن فرم دوم



بیتا حکمت
سه شنبه 08 اردیبهشت 1394, 10:43 صبح
سلام .

مرحله اول : یه متغیر پابلیک در Program تعریف کردم




public static string Teststr = "I love C#‎‎‎‎‎‎‎‎‎ more then php ";






مرحله دوم : در فرم اول کد پایین رو نوشتم . نمیخوام فرم اول به صورت کامل بسته بشه برای همین از This.hide استفاده نکردم .(برام مهمه که پشت فرم دوم ، فرم اول نشون داده بشه )




private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.ShowDialog();
}



مرحله سوم : در رویداد لود فرم دوم مقدار متغییر سراسری رو به این صورت تغییر دادم




private void Form2_Load(object sender, EventArgs e)
{
this.Text = " I love php more then C#‎‎‎‎‎‎‎‎‎" ;
}
// میخوام این تغییر در فرم اول نشون داده بشه ، موقعی که فرم دوم بسته میشه !




سوال : میخـوام وقتی فرم دوم بسته میشه عنوان فرم اول هم به I love php more then c تغییر کنه (مطابق مرحله سوم ) ، دلیل اینکه عنوان تغییر این هست که چون رویداد فرم لود فرم اول اجرا نمیشه و از قبل لود شده . اما سوالم اینکه برای این کاری که میخوام انجام بدم در چه رویدادی باید کد بنویسم ؟! ( تاکید می کنم نمیخوام فرم اول به صورت کامل بسته بشه )

Davidd
سه شنبه 08 اردیبهشت 1394, 11:10 صبح
سلام .
مرحله اول : یه متغیر پابلیک در Program تعریف کردم

سلام. این متغیر static public کجا استفاده شده؟!

مرحله سوم : در رویداد لود فرم دوم مقدار متغییر سراسری رو به این صورت تغییر دادم
اینجا متغیر سراسری تغییر نمیکنه! عنوان فرم دوم داره تغییر میکنه. کلمه this به شی جاری از Form2 اشاره میکنه.

میخـوام وقتی فرم دوم بسته میشه عنوان فرم اول هم به I love php more then c تغییر کنه (مطابق مرحله سوم )
شما عنوان فرم دوم تغییر دادی چطور فرم اول تغییر کنه؟ صورت مسئله رو باز کنید. میخاید از فرم دوم عنوان فرم اول تغییر کنه؟ اگه اینطوره پس نقش متغیر public static چیه؟

بیتا حکمت
سه شنبه 08 اردیبهشت 1394, 11:19 صبح
سلام. این متغیر static public کجا استفاده شده؟!

اینجا متغیر سراسری تغییر نمیکنه! عنوان فرم دوم داره تغییر میکنه. کلمه this به شی جاری از Form2 اشاره میکنه.

شما عنوان فرم دوم تغییر دادی چطور فرم اول تغییر کنه؟ صورت مسئله رو باز کنید. میخاید از فرم دوم عنوان فرم اول تغییر کنه؟ اگه اینطوره پس نقش متغیر public static چیه؟


ممنونم . دلیل اینکه تغییر نمی کرد همون بود که شما گفتین ، اینو اشتباه نوشته بودم




this.Text = " I love php more then C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎" ;



به این صورت تغییر دادم دادم درست شد




Program.Teststr = "I love php more then C#‎‎‎‎‎‎";

بیتا حکمت
سه شنبه 08 اردیبهشت 1394, 11:25 صبح
یه اشتباه دیگه که مرتکب شده بودم این بود که کد فراخوانی مقدار متغیر رو در رویداد لود نوشته بودم . در اصل باید تو Form1_Activated می نوشتم .