مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

aramhamid20

عضویت از 1394/06/15

بستن فورم قبلی..

  • سه شنبه 27 بهمن 1394
  • 01:03
تشکر میکنم

سلام خسته نباشید.

وقتی فورم اول بازه میخوام یه فورم دیگه از طریق menuStrip باز کنم فورم دومی باز میشه .

ولی فورم اولی هم باز میمونه. من میخوام فورم اولی بسته بشه وقتی فورم دومی رو باز میکنم.

وقتی this.Close(); 1 رو میزارم هر دو باهم بسته میشه!!!

چیکار کنم؟؟

پاسخ های این پرسش

تعداد پاسخ ها : 3 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 27 بهمن 1394
  • 09:23

باید از فرم های mdi استفاده کنید

این لینک را ببینید

کاربر سایت

سمیه حاتمی

عضویت از 1394/06/24

  • سه شنبه 27 بهمن 1394
  • 09:37

سلام دوست من

this به شی جاری اشاره دارد .در داخل این شی دو فروم شما به عنوان Child قرار دارند .وقتی this.close می زنید تمام فرزندان آن هم بسته می شود .

برای اینکه از این حالت جلوگیری کنید .اول باید تعیین کنید که کدام فرم ها child فرم اصلی شما هستند .سپس در داخل یک حلقه foreach به ازای فرزندان این صفحه فرمی را پیدا کنید که نام آن برابر با فروم یک یا دو باشد سپس آن را نمایش دهد تابعی شبیه زیر بنویسید

 public static void showform(Form child, Form parent)
         {
             foreach (Form f in parent.MdiChildren)
             {
                 if (f.Name == child.Name)
                 {
                     f.Select();
                     return;
                 }
               
             }
             child.MdiParent=parent;
             child.Show();
            

سپس از این تابع در داخل رویداد کلیک هر زیر منو می توان استفاده کرد

lib.showform(new frmcompany(),this);

چیزی شبیه شکل زیر را خواهید داشت

کاربر سایت

_vahid

عضویت از 1394/09/17

  • سه شنبه 27 بهمن 1394
  • 22:06

دوست عزیز میتونی فرم اولو بجای بستن پنهان کنی  به جای this.close();

 

this.hide();  رو بنوییس

 

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)