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

نام تاپیک: مشکل در بسته شدن فرم قبلی پس از باز شدن فرم جدید

  1. #1
    کاربر تازه وارد آواتار ali2006sr
    تاریخ عضویت
    آبان 1384
    محل زندگی
    تهران
    پست
    41

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

    سلام ، من یه مشکلی در بستن فرمها و باز کردن فرم جدید دارم ، من می خوام وقتی فرم اول باز شد و بعد از ورود اطلاعات با زدن یک کلید فرم اول بسته بشه و فرم دوم باز بشه ، اما فقط فرم دوم باز میشه و تا وقتی که فرم دوم بسته نشه فرم اول هم بسته نمیشه ، باید جیکار کنم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

    نمونه کد :

    private void sabt2_Click(object sender, EventArgs e)
    {
    showm();
    this.Close();
    }

  2. #2
    کاربر دائمی آواتار sara.f
    تاریخ عضویت
    شهریور 1388
    محل زندگی
    آنجا که دروغ نباشد!
    پست
    809

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

    نقل قول نوشته شده توسط ali2006sr مشاهده تاپیک
    سلام ، من یه مشکلی در بستن فرمها و باز کردن فرم جدید دارم ، من می خوام وقتی فرم اول باز شد و بعد از ورود اطلاعات با زدن یک کلید فرم اول بسته بشه و فرم دوم باز بشه ، اما فقط فرم دوم باز میشه و تا وقتی که فرم دوم بسته نشه فرم اول هم بسته نمیشه ، باید جیکار کنم ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

    نمونه کد :

    private void sabt2_Click(object sender, EventArgs e)
    {
    showm();
    this.Close();
    }
    سلام.
    https://barnamenevis.org/showthread.php?t=178314

  3. #3
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    سن
    42
    پست
    135

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

    از این کد استفاده کن در فرم اولت.


    this.Hide();
    frmMain NextFrm = newfrmMain();
    NextFrm.ShowDialog();
    this.Close();

  4. #4
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

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

    نقل قول نوشته شده توسط mohsenashkboos مشاهده تاپیک
    از این کد استفاده کن در فرم اولت.


    this.Hide();
    frmMain NextFrm = newfrmMain();
    NextFrm.ShowDialog();
    this.Close();
    اشکال این کار این است که تا زمانیکه برنامه تمام نشه فرم اول همینطوی میشینه در حافظه.
    چرا وقتی که روش بهتر وجود دارد به قایم کردن فرم متوصل بشیم؟

  5. #5
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    سن
    42
    پست
    135

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

    نقل قول نوشته شده توسط اَرژنگ مشاهده تاپیک
    اشکال این کار این است که تا زمانیکه برنامه تمام نشه فرم اول همینطوی میشینه در حافظه.
    چرا وقتی که روش بهتر وجود دارد به قایم کردن فرم متوصل بشیم؟
    با تشکر از شما.برای اینکه فرم از حافظه برداشته شود میتوانید ازتابع dispose() استفاده کنید :


    this.Hide();
    Form2 NextFrm = newForm2();
    NextFrm.ShowDialog () ;
    this.Close () ;
    this.Dispose();

  6. #6
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

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

    نقل قول نوشته شده توسط mohsenashkboos مشاهده تاپیک
    با تشکر از شما.برای اینکه فرم از حافظه برداشته شود میتوانید ازتابع dispose() استفاده کنید :


    this.Hide();
    Form2 NextFrm = newForm2();
    NextFrm.ShowDialog () ;
    this.Close () ;
    this.Dispose();
    خیر!
    لازم به استفاده از دیسپز نیست.
    من میگم که یک فرم اضافی همینطوری تو حافظه میشینه تا موقعی که برنامه بسته شه، اگر نگاه کنید میبینید که فرم اول را نمیتوانید ببندید و با قایم کردن این مشکل را ماسمالی میکنند.
    از لحاض کد نویسی کار میکنه، ولی یک برنامه نویس نمیتونه دلیل اینکه چرا یک فرم را قایم نگه داشته را بازگو کنه.
    از لحاض اینکه فقط یک کلک است که در ظاهر فقط کار میکنه، در پشت پرده بر اصولی پایدار نیست.
    یکی بپرسه دلیل قایم کردن فرم چیه ؟ جوابش را چه میشه داد؟

  7. #7
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    سن
    42
    پست
    135

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

    من حرف شما را قبول دارم که میگید هیدن کردن یک کلیک اما من آنرا تا موقعی هیدن میکنم که فرم 2 باز شه و بعد از آن عملا با دستور dispose من آنرا از حافظه بر میدارم پس دیگه مشکل چیه؟؟!!

  8. #8
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736

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

    نقل قول نوشته شده توسط mohsenashkboos مشاهده تاپیک
    من حرف شما را قبول دارم که میگید هیدن کردن یک کلیک اما من آنرا تا موقعی هیدن میکنم که فرم 2 باز شه و بعد از آن عملا با دستور dispose من آنرا از حافظه بر میدارم پس دیگه مشکل چیه؟؟!!
    خیر، تا بعد از اینکه فرم ۲ باز بشه از حافظه برنمیدارید، بعد از اینکه فرم ۲ بسته بشه از حافظه برمیدارید.

    ۱.چرا اصلا قایم کردنش لازمه؟
    ۲.چرا بعد از اینکه فرم ۲ نشان داده میشه بسته میشه؟ مگر نه اینکه منطقش این است که یک فرم نشان داده بشه و بعدش یک فرم دیگر؟ اینکه بعد از فرم دوم هنوز تو حافظه است دلیلش چیه؟
    ۳.چرا فرم اول تا موقعی که برنامه تمام نشده همینطوری در حافظه است؟

  9. #9
    کاربر دائمی
    تاریخ عضویت
    آبان 1385
    محل زندگی
    تهران
    پست
    1,112

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


    this.Hide();
    Form2 NextFrm = newForm2();
    NextFrm.ShowDialog () ;
    this.Close () ;
    this.Dispose();


    تا بسته نشدن NextFrm دستور this.close اجرا نمی شود و فرم در حافظه می ماند

  10. #10
    کاربر دائمی آواتار newgoldenman
    تاریخ عضویت
    آبان 1385
    محل زندگی
    همشهري حضرت معصومه (س)
    پست
    367

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

    سلام.
    یه جمله هم من بگم و رفع زحمت كنم!

    اولین فرمی كه برنامه اون رو new میكنه و نمایش میده، و بصورت پیش فرض توی program.cs قرار داره، در واقع handle برنامه به حساب میاد. بنابراین هرجای برنامه كه handle رو به هر نحوی، بزنیم درب و داغونش كنیم(Close, Dispose ...) مثل این هست كه Application.Exit كرده باشیم!!

  11. #11

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

    يك روش جالب :
    توي قسمت Main برنامه يك ايونت اد كن قبل از اپليكيشن.ران :
    Application.ApplicationExit += new EventHandler(Application_ApplicationExit);
    Application.Run(new Form1());
    توي ايونت هم اين كد رو بذار :
    Application.Run(new Form2());

    فقط يه فكري به حال بسته شدن فرم دوم بكن چون كل برنامه رو نمي بنده من تست نكردم البته

  12. #12
    کاربر دائمی
    تاریخ عضویت
    تیر 1388
    محل زندگی
    تهران
    سن
    42
    پست
    135

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

    نقل قول نوشته شده توسط Vahid_moghaddam مشاهده تاپیک

    this.Hide();
    Form2 NextFrm = newForm2();
    NextFrm.ShowDialog () ;
    this.Close () ;
    this.Dispose();


    تا بسته نشدن NextFrm دستور this.close اجرا نمی شود و فرم در حافظه می ماند
    ممنون از راهنماییتون.

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

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