PDA

View Full Version : سوال: فراخوانی یک رویداد مربوط به فرم اول در فرم دوم



ya30ien2
یک شنبه 24 اردیبهشت 1391, 23:29 عصر
سلام دوستان میخوام یک رویداد مربوط به فرم اول رو فراخوانی کنم در صورتی که فرم دوم باز باشه و فرم اول زیر فرم دوم و با فراخوانی اون رویداد تغییرات داخل فرم اول رخ بده
هرکاری کردم نتونستم
میتونم فراخوانی کنم اما تغییرات اعمال نمیشه
احتمالا واسه اینه که زیر فرم دوم هستش
درضمن از فرم پدر فرزندی استفاده میکنم و هر دو فرم فرم فرزند هستن
ممنون میشم بهم کمک کنید

hamed_hossani
دوشنبه 25 اردیبهشت 1391, 10:28 صبح
سلام
http://www.techrepublic.com/article/opening-form-instances-in-c/1050650

hamed_hossani
دوشنبه 25 اردیبهشت 1391, 10:45 صبح
same topic
http://barnamenevis.org/showthread.php?304377-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%DB%8C%DA%A9-%D9%85%D8%AA%D8%AF-%D8%AF%D8%B1-%D9%81%D8%B1%D9%85-%D8%AF%DB%8C%DA%AF%D8%B1&highlight=parent+form

ya30ien2
دوشنبه 25 اردیبهشت 1391, 14:23 عصر
دوست عزیز من بخاطر اینکه فرم پدر فرزندی هست و این دو فرمی که میخوام باهاشون این کار رو انجام بدم هر دو فرم فرزند هست نتونستم کاری کنم
اگه میشه یک مثال در مورد فرم های اینچنینی بزارید ممنون میشم

Mahmoud.Afrad
دوشنبه 25 اردیبهشت 1391, 18:03 عصر
فرض کنید داخل فرم پدر داریم:


Form2 frm2;
Form3 frm3;

private void button1_Click(object sender, EventArgs e)
{
frm2 = new Form2();
frm2.MdiParent = this;
frm2.Show();

frm3 = new Form3();
frm3.MdiParent = this;
frm3.Show();
}

//از طریق فرم3 به فرم1 دسترسی پیدا کرده و این متد صدا زده میشه
//داخل این متد رویداد فرم2 که پابلیک شده قابل دسترس هست
protected internal void CallEventFromForm2()
{
frm2.redit_dgv();
}



یک رویداد در فرم2 داریم به این صورت:


public void redit_dgv()
{
MessageBox.Show("event from form2");
}



در هر فرمی که خواستید مثلا فرم3 به این صورت میتونید رویداد فرم2 رو فراخوانی کنید:


((Form1)this.MdiParent).CallEventFromForm2();