PDA

View Full Version : سوال: Add کردن پانل فرم دوم در پنل فرم اصلی



AliRezaPro
یک شنبه 15 شهریور 1388, 03:03 صبح
من میخوام پنل فرم دوم در پنل فرم اصلی ادد بشه و تمام کنترل های فرم دوم در فرم اصلی بیاد
مثلا:

FormDovom objFormDovom=new FormDovom();
this.FormeAsli.Controls.Clear();
this.Formeasli.Controls.Add(objFormDovom.Panelesh(
ولی هر کاری میکنم پانل فرم دوم رو نمی شناسه در فرم اول
مشل چیه؟

Reza_Yarahmadi
یک شنبه 15 شهریور 1388, 11:28 صبح
بعد از نمایش فرم 2 از کد زیر استفاده کن.
Panel P = (Panel)(Application.OpenForms["Form2"].Controls["Panel1"]);
this.Controls.Add(P);

AliRezaPro
یک شنبه 15 شهریور 1388, 16:02 عصر
شما این پروژه رو نگاه کنید

http://rapidshare.com/files/276364896/Sandogh.C_.Project.7z
مثلا با زدن باتن تولبار پانل فرم دوم در پنل فرم اصلی لود میشه
نمیخوام یه پنجره ی جدا باز بشه
من همین کاری که این پروژه کرد رو انجام دادم امافرم اول پنل فرم دومی رو نمی بینه !
ببینید
مثلا در این کد
FormDovom objFormDovom=new FormDovom();
this.FormeAsli.Controls.Clear();
this.Formeasli.Controls.Add(objFormDovom.Panelesh( روی متنی که بولد کردم رو ببینید
این پنل فرم دوم هست که فرم اول اونو نمی بینه و کد بالا اون قسمت رو اشکال میگیره
واسعه چیه؟

Reza_Yarahmadi
یک شنبه 15 شهریور 1388, 16:41 عصر
توی این برنامه خاصیت modifiers پنل و متدها رو برابر Public گذاشته به همین خاطر وقتی یه شی از نوع فرم درست میکنه به پنل و متدهاش میتونه دسترسی داشته باشه. این روش چندان روش خوبی نیست ولی از همه ساده تره (اگه یه جستجو در مورد "دسترسی به ابزارهای یک از فرمی دیگر" -یا یه همچین چیزی- کنی به نتایج کاملی میرسی) اگر قصد داری به همین روش عمل کنی فقط خاصیت modifiers پنل مورد نظرت رو Public کن.