PDA

View Full Version : فرم های تو در تو در c#



reyhanehkh
یک شنبه 04 مرداد 1388, 23:48 عصر
:متفکر:سلام من میخوام یک برنامه بنویسم که مثلا از فرم یک با زدن یک دکمه به فرم دو برود سپس از فرم 2 به فرم 3 و به همین ترتیب..وقتی من دستورهای
Form objForm=new Form2();
objForm.MdiParent=this;
objForm.Show();
را در فرم اول مینویسم و اجرا میکنم به درستی اجرا می شود ولی وقتی میخواهم از فرم 2 به فرم 3 بروم با تایپ همین دسترات در فرم 2 به من خطای
An unhandled exception of type 'System.ArgumentException' occurred in system.windows.forms.dll
Additional information: A form cannot be both an MDI child and MDI parent.
را میدهد لطفا کمکم کنید

mojtaba1363
دوشنبه 05 مرداد 1388, 01:19 صبح
سلام
دوست عزیر سوال شما در صفحات زیر جواب داده شده رجوع کنید انشا الله که مشکلتون حل بشه

http://barnamenevis.org/forum/showthread.php?t=165369
http://barnamenevis.org/forum/showthread.php?t=163933

موفق باشی
یا علی

samirdev
سه شنبه 06 مرداد 1388, 23:21 عصر
شما در فرم اول نوشتید objForm.MdiParent=this که this در این جا یعنی فرم اول. همین کد را در فرم دوم استفاده می کنید. که در آنجا this یعنی فرم دوم.

یعنی شما به فرم 2 گفتید هم child فرم اول باش و هم parent فرم سوم که امکان پذیر نیست. شما می توانید ار روش زیر استفاده کنید. فرم هایی که child هستند ، نمی تواند Parent باشند. شما باید parent فرم سوم را فرم اول قرار دهید.



Form objForm=new Form2();
objForm.MdiParent=Application.OpenForms["Form1"];
objForm.Show();

البته به جای Form1 اسم فرم اصلی یا همون Parent را بگذارید.

f.nabavi
سه شنبه 13 مرداد 1388, 09:31 صبح
سلام.
من با mdi ها مشکل دارم. وقتی از داخل فرمی که خودش فرزند mdi هست میخوام یه فرم دیگه باز کنم و اون رو هم فرزند mdi بذارم، برنامه خطا نمیده ولی فرم رو هم باز نمیکنه و به جاش کلا mdi روی نشون میده. میتونین یه مثال بذارین که یه فرم فرزند یه فرم فرزند دیگه رو باز کنه؟
ممنون

mosayyeb123
پنج شنبه 08 فروردین 1398, 14:58 عصر
سلام وقتتون بخیر باشه ببخشید یه سوال داشتم سوالم رو اینطور کامل می کنم با مثال
من در فرم اصلی یک باتون گذاشتم که میرم به فرم 2 می خوام اطلاعات ردیف دیتاگرید رو بخونم و انتقال بدم به تکس باکس هام تااینجا کامل میشه یعنی فرم 2 بازمیشه اطلاعات رو میبینه ولی مشکل اینجااست وقتی کلیک میکنه فرم جدید بازمی کنه من میخوام پس از کلیک درردیف دیتاگرید به فرم اصلی برگردم نه اینکه فرم اصلی رو دوباره باز کنه ممنون میشم کمکم کنید لطفا کد رو برام با توضیحات بدارید ممنون

danialafshari
پنج شنبه 08 فروردین 1398, 16:33 عصر
سلام وقتتون بخیر باشه ببخشید یه سوال داشتم سوالم رو اینطور کامل می کنم با مثال
من در فرم اصلی یک باتون گذاشتم که میرم به فرم 2 می خوام اطلاعات ردیف دیتاگرید رو بخونم و انتقال بدم به تکس باکس هام تااینجا کامل میشه یعنی فرم 2 بازمیشه اطلاعات رو میبینه ولی مشکل اینجااست وقتی کلیک میکنه فرم جدید بازمی کنه من میخوام پس از کلیک درردیف دیتاگرید به فرم اصلی برگردم نه اینکه فرم اصلی رو دوباره باز کنه ممنون میشم کمکم کنید لطفا کد رو برام با توضیحات بدارید ممنون

با سلام
برای این کار میتونید از کلاس ها استفاده کنید
قبلاً زیاد بحث شده و در پست های قبلیم موجوده
موفق باشید