نمایش نتایج 1 تا 19 از 19

نام تاپیک: MdiParent

  1. #1

    MdiParent

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

  2. #2
    کاربر دائمی آواتار saied_hacker
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    404 Not Found
    پست
    703

    نقل قول: MdiParent

    خوب احتمال نگفتی که باید child باشه و parent ش رو مشخص نکردی دیگه دلیل دیگه ای نمی تونه داشته باشه

  3. #3
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: MdiParent

    اگر درست فهمیده باشم:
    [نام فرم] frm=new [نام فرم]();
    frm.mdiparent=this;
    frm.show();

  4. #4

    نقل قول: MdiParent

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    اگر درست فهمیده باشم:
    [نام فرم] frm=new [نام فرم]();
    frm.mdiparent=this;
    frm.show();
    سلام ببخشید راهی هم برای این هست؟ توی فرم فرزندی که توی فرم پدر اجرا شده showdialog خطا میده... متد show برای یک فرم دیگه مشکل نداره اما اگه بخوایم همین کد رو showdialog کنیم مشکل داره...

                this.Hide ();
    Rgister1 f2 = new Rgister1();
    f2.MdiParent = this.MdiParent;
    f2.ShowDialog();

  5. #5

    نقل قول: MdiParent

    دوستان من فرم اول را که می خوام همه فرم ها داخل اون باز بشن از نوع پرنت انتخاب کردم در واقع
    true =IsMdiContainer
    کردم.
    و فرم چایلد که قرار داخل فرم اصلی باشه با این تکه کد زنده می کنم:

    Delivery Delivery = new Delivery();
    Delivery.MdiParent = this;
    Delivery.Show();


    تا ایجای کار مشکل ندارم و فرم دوم داخل فرم اصلی وقتی از فرم دوم ، فرم سوم را صدا می زنم دیگه داخل فرم اصلی نیست بیرون از فرم اصلی وقتی هم مینیمایز میکنم بیرون از فرم می مونه.
    چطوری میشه هر دو فرم که زنده می کنم داخل فرم اصلی باشه؟
    آخرین ویرایش به وسیله Mahmoud.Afrad : چهارشنبه 16 دی 1394 در 13:52 عصر

  6. #6

    نقل قول: MdiParent

    نقل قول نوشته شده توسط araz_pashazadeh مشاهده تاپیک
    باعرض سلام و خسته نباشید خدمت دوستان.
    من در برنامه یک فرم پرنت دارم و فرمهای بعدی داخل اون باز میشن ولی وقتی از فرمی که باز شده فرم دقیهای را باز می کنم فرم سوم داخل فرم اصلی نیست بیرون چطوری می تونم همه فرم ها را داخل همون فرم اصلی باز کنم؟
    نقل قول نوشته شده توسط araz_pashazadeh مشاهده تاپیک
    دوستان من فرم اول را که می خوام همه فرم ها داخل اون باز بشن از نوع پرنت انتخاب کردم در واقع IsMdiContainer = true کردم.
    [و فرم چایلد که قرار داخل فرم اصلی باشه با این تکه کد زنده می کنم:
    ...
    تا ایجای کار مشکل ندارم و فرم دوم داخل فرم اصلی وقتی از فرم دوم ، فرم سوم را صدا می زنم دیگه داخل فرم اصلی نیست بیرون از فرم اصلی وقتی هم مینیمایز میکنم بیرون از فرم می مونه.
    چطوری میشه هر دو فرم که زنده می کنم داخل فرم اصلی باشه؟
    باید mdiparent فرم سوم رو روی parent فرم دوم(یعنی فرم اول) تنظیم کنید.
    اگر برای نمایش فرم2 به اینصورت عمل کردید:
                Form2 frm2 = new Form2();
    frm2.MdiParent = this;
    frm2.Show();

    حالا برای نمایش فرم3 از داخل فرم2 به اینصورت عمل کنید:
                Form3 frm3 = new Form3();
    frm3.MdiParent = this.MdiParent;
    frm3.Show();



    نقل قول نوشته شده توسط samadblaj مشاهده تاپیک
    سلام ببخشید راهی هم برای این هست؟ توی فرم فرزندی که توی فرم پدر اجرا شده showdialog خطا میده... متد show برای یک فرم دیگه مشکل نداره اما اگه بخوایم همین کد رو showdialog کنیم مشکل داره...

                this.Hide ();
    Rgister1 f2 = new Rgister1();
    f2.MdiParent = this.MdiParent;
    f2.ShowDialog();
    برای فرمهای mdi فرزند ، متد showdialog قابل اجرا نیست.

  7. #7

    نقل قول: MdiParent

    سلام دوست خوبم ممنون از کمکتون یه سوالی که هست| توی برنامه کاربر روی یک دمه کلیک میکنه فرم های متعددی براش باز میشه (تکراری) روشی برای جلوگیری از این عمل هست ؟

  8. #8

    نقل قول: MdiParent

    نقل قول نوشته شده توسط samadblaj مشاهده تاپیک
    سلام دوست خوبم ممنون از کمکتون یه سوالی که هست| توی برنامه کاربر روی یک دمه کلیک میکنه فرم های متعددی براش باز میشه (تکراری) روشی برای جلوگیری از این عمل هست ؟
    از application.openforms چک کن اگر قبلا وجود داشت نمایش بده اگر نه یک نمونه جدید بساز:

    if (Application.OpenForms["Form2Name"] != null)
    {
    Application.OpenForms["Form2Name"].Show();
    Application.OpenForms["Form2Name"].WindowState = FormWindowState.Normal;
    }
    else
    {
    Form2 frm2 = new Form2();
    frm2.Name = "Form2Name";
    frm2.MdiParent = this;
    frm2.Show();
    }

  9. #9

    نقل قول: MdiParent

    ـممنـــــونـــــم عالــــــــــــــــــــــ ــی ـبود

  10. #10

    نقل قول: MdiParent

    ممنون از راهنمایی سازنده شما.
    من قابلیت ShowDialog را چطوری می تونم به فرم های که دارم باز می کنم اضافه کنم؟
    برای من ترتیب قرار گیری فرم ها مهم هستش در واقع همون طور که در ShowDialog کاربرنمی تونه فرم های قبلی را انتخاب کنه ،تااین فرم بسته نشده به فرم قبلی نمی تونه بره.
    من این قابلیت را چطوری می تونم اضافه کنم؟

  11. #11

    نقل قول: MdiParent

            private void button5_Click(object sender, EventArgs e)
    {
    if (Application.OpenForms["Form2Name"] == null)
    {
    Form2 frm2 = new Form2();
    frm2.Name = "Form2Name";
    frm2.TopMost = true;
    frm2.MdiParent = this;
    frm2.Show();

    frm2.LostFocus += new EventHandler(frm2_LostFocus);
    frm2.FormClosing += new FormClosingEventHandler(frm2_FormClosing);

    foreach (Form frm in Application.OpenForms)
    {
    if (!( frm is Form1) && !( frm is Form2))
    {
    frm.Enabled = false;
    }
    }

    // Here Disable Form1 controls ...
    }
    }

    void frm2_LostFocus(object sender, EventArgs e)
    {
    Form frm = sender as Form;
    frm.WindowState = FormWindowState.Normal;
    frm.Focus();
    }

    void frm2_FormClosing(object sender, FormClosingEventArgs e)
    {
    foreach (Form frm in Application.OpenForms)
    {
    if (!(frm is Form1) && !(frm is Form2))
    {
    frm.Enabled = true;
    }
    }

    // Here Enable Form1 controls
    }

  12. #12

    نقل قول: MdiParent

    نقل قول نوشته شده توسط mafaman2003 مشاهده تاپیک
    باید mdiparent فرم سوم رو روی parent فرم دوم(یعنی فرم اول) تنظیم کنید.
    اگر برای نمایش فرم2 به اینصورت عمل کردید:
                Form2 frm2 = new Form2();
    frm2.MdiParent = this;
    frm2.Show();

    حالا برای نمایش فرم3 از داخل فرم2 به اینصورت عمل کنید:
                Form3 frm3 = new Form3();
    frm3.MdiParent = this.MdiParent;
    frm3.Show();




    برای فرمهای mdi فرزند ، متد showdialog قابل اجرا نیست.
    ممنون از راهنمایی شما من تکه کدهای بالا استفاده کردم ولی در فرم سوم من یک menuStrip دارم که متاسفانه نمایش داده نمی شه؟
    وقتی frm3.MdiParent = this.MdiParent; را می بندم نمایش داده میشه دلیلش چیه؟
    باید کار خاصی انجام بدم؟

  13. #13

    نقل قول: MdiParent

    با راهنمایی دوست عزیز تونستم مشکل MdiParent حل کنم ولی همانطور که می دانید در ShowDialog اجرای برنامه در این قسمت متوقف شده وقتی فرمی که
    باز شده را می بندیم اجرای برنامه از قسمت ShowDialog به بعد اجرا میشه.
    من این کار را چطور می تونم با استفاده از Show کردن فرم انجام بدم؟

  14. #14
    کاربر دائمی آواتار ordebehesht
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    یه گوشه دنج از این دنیا
    پست
    845

    نقل قول: MdiParent

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


    [نام فرم] frm=new [نام فرم]();
    frm.mdiparent=this;
    frm.show(this);



  15. #15

    نقل قول: MdiParent

    نقل قول نوشته شده توسط ordebehesht مشاهده تاپیک
    دوست من یه راهکار ساده میگم به این شکل عمل کن تا فرمت داخل در واقع زیرفرم فرم قبلیت باشه


    [نام فرم] frm=new [نام فرم]();
    frm.mdiparent=this;
    frm.show(this);


    دوست عزیز من گفته شما را انجام دادم ولی با این خطا مواجه شدم!!!!
    خطای که داده و کدی که نوشتم را درقالب عکس براتون گذاشتم.
    عکس های ضمیمه عکس های ضمیمه

  16. #16
    کاربر دائمی آواتار ordebehesht
    تاریخ عضویت
    فروردین 1386
    محل زندگی
    یه گوشه دنج از این دنیا
    پست
    845

    نقل قول: MdiParent

    خط بالای متن خطا رو پاک کن ببین میشه اگه نشد کلمه this رو پاک کن ببین میشه

  17. #17

    نقل قول: MdiParent

    نقل قول نوشته شده توسط ordebehesht مشاهده تاپیک
    خط بالای متن خطا رو پاک کن ببین میشه اگه نشد کلمه this رو پاک کن ببین میشه
    دوست عزیز اینو من خودم می دونم در بالا هم به این نکته اشاره کردم.
    من می خوام فرم به شکل پرنت بمونه واطلاعاتی که در فرم سوم وارد کردم هنگام بسته شدن فرم در فرم دوم اعمال بشه.
    از رخدادهای متفاوتی استفاده کردم ولی تا وقتی در فرم دوم کلیک نکردم یا کاری انجام ندادم اعمال نمی شه.

  18. #18

    نقل قول: MdiParent

    من در برنامه از فرم 1، فرم2 را بازم میکنم کاربر حق انتخاب داره انتخاب فرم3 باز میشه می خوام تغییرانی که در فرم3 میده در فرم1 نمایش داده بشه.
    چطوری میشه این کار را انجام داد البته بدون متغییر استاتیک؟

  19. #19
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: MdiParent

    می تونی از Setting.Setting هم استفاده کنی
    تو سایت مطالبش زیاده جستجو کنید

تاپیک های مشابه

  1. MdiParent و Inherit
    نوشته شده توسط hooooman در بخش VB.NET
    پاسخ: 4
    آخرین پست: چهارشنبه 10 مرداد 1386, 11:03 صبح
  2. MdiParent closing
    نوشته شده توسط iranrose63 در بخش C#‎‎
    پاسخ: 16
    آخرین پست: چهارشنبه 27 تیر 1386, 06:57 صبح
  3. فرم mdiparent و یک مشکل
    نوشته شده توسط ch2007 در بخش VB.NET
    پاسخ: 3
    آخرین پست: سه شنبه 15 اسفند 1385, 18:00 عصر
  4. سوال در مورد MDIParent
    نوشته شده توسط shabrow در بخش VB.NET
    پاسخ: 1
    آخرین پست: پنج شنبه 25 خرداد 1385, 21:29 عصر
  5. چند سوال در مورد MdiParent
    نوشته شده توسط SYSMAN در بخش VB.NET
    پاسخ: 5
    آخرین پست: پنج شنبه 27 مرداد 1384, 07:39 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •