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

نام تاپیک: بازم مشکل پدر و فرزندی

  1. #1
    کاربر دائمی آواتار elmira_63
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    40
    پست
    324

    بازم مشکل پدر و فرزندی

    سلام دوستان

    من یه فرم پدر و یه فرم فرزند دارم که توی این فرم پدر نشون داده می شه و windows state جفتشون برابر maximaized هستش من دوتا مشکل دارم

    1) وقتی روی کلید مربوطه کلیک میکنم تا فرم فرزند باز بشه چطور چک کنم که این فرم قبلا باز نشده باشه

    2) وقتی که فرم فرزند باز می شه با این که خواصیت form border style اون رو برابر none قرار دادم وقتی باز میشه نوار بالای فرم که کلید های maximized و minimized و close توشه رو نشون میده
    من خواصیت form border style فرم پدر رو هم none کردم ولی وقتی فرم فرزند maximized باشه این نوار نشون داده میشه

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

    اینم عکسش
    عکس های ضمیمه عکس های ضمیمه

  2. #2

    نقل قول: بازم مشکل پدر و فرزندی

    وقتی روی کلید مربوطه کلیک میکنم تا فرم فرزند باز بشه چطور چک کنم که این فرم قبلا باز نشده باشه
                Form f1;
    if (Application.OpenForms["Form1"] == null)
    f1 = new Form1();
    else
    f1 = Application.OpenForms["Form1"];
    f1.MdiParent = this;
    f1.Show();
    وقتی که فرم فرزند باز می شه با این که خواصیت form border style اون رو برابر none قرار دادم وقتی باز میشه نوار بالای فرم که کلید های maximized و minimized و close توشه رو نشون میده
    من خواصیت form border style فرم پدر رو هم none کردم ولی وقتی فرم فرزند maximized باشه این نوار نشون داده میشه
    تا جایی که میدونم این یکی از خاصیتهای فرم پدره و نمیشه اونو غیر فعال کرد. البته غیر فعال کردنش یه جورایی منطقی نیست. مثلا فرض کنید چند فرم فرزند دارید و همشونو باز کردید اگه این خاصیت غیر فعال باشه یه مقدار سخت میشه بینشون جابجا شد! اگه یه منو استاندارد داشته باشید گزینه های Minimize و ... توی اون منو نمایش داده میشه!!!

  3. #3
    کاربر دائمی آواتار Xcalivorse
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    Kernel32.dll
    پست
    411

    نقل قول: بازم مشکل پدر و فرزندی

    خاصيت WindowState فرمت رو Normal كن و براي باز كردنش به صورت تمام صفحه سايز فرم Chid رو يا فرم Parent تنظيم كن


    Form2
    Frm = newForm2();
    Frm.MdiParent =
    this;
    Frm.Top = 0;
    Frm.Left = 0;
    Frm.Height =
    this.Height - 63;
    Frm.Width =
    this.Width - 13;

    Frm.Show();

  4. #4
    کاربر دائمی آواتار Xcalivorse
    تاریخ عضویت
    اردیبهشت 1386
    محل زندگی
    Kernel32.dll
    پست
    411

    نقل قول: بازم مشکل پدر و فرزندی

    براي اطمينان از باز نبودن فرم مورد نظرتون از آلگوريتم سينگلتون استفاده كنيد. توي تاپيك 1001 نكته آموزش داده شده.

  5. #5
    کاربر دائمی آواتار elmira_63
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    40
    پست
    324

    نقل قول: بازم مشکل پدر و فرزندی

    نقل قول نوشته شده توسط Reza_Yarahmadi مشاهده تاپیک
                Form f1;
    if (Application.OpenForms["Form1"] == null)
    f1 = new Form1();
    else
    f1 = Application.OpenForms["Form1"];
    f1.MdiParent = this;
    f1.Show();
    از این کد و دهها کد دیگه که توی سایت هست استفاده کردم ولی هر کدومش یه مشکلی داشت مثلا مشکل کد بالا این بود که اگه یه فرم رو از توی منوهام باز می کردم و بدون بستن اون میرفتم یه فرم دیگه رو باز می کردم و برمی گشتم همون فرم قبلی رو باز کنم باز نمی شه
    ببینید من 10 ، 15 تا فرم دارم که همشون فرزند فرم اصلی برنامم هست
    من میخوام با انتخاب هر منو اگه فرمی باز هستش بسته بشه و فرم مربوط به اون منو باز بشه در ضمن وقتی باز میشه فرم فرزند کل فرم پدر رو پر کنه

  6. #6
    کاربر دائمی آواتار elmira_63
    تاریخ عضویت
    اردیبهشت 1387
    محل زندگی
    اصفهان
    سن
    40
    پست
    324

    نقل قول: بازم مشکل پدر و فرزندی

    کسی نیست مارو دریابه ؟؟؟؟

  7. #7

    نقل قول: بازم مشکل پدر و فرزندی

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

    for (int i = 1; i < Application.OpenForms.Count; i++)
    Application.OpenForms[i].Close();

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

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