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

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

  1. #1

    نمایش یک فرم و بستن فرم پدر

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

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

    ;()Form2 ob = new Form2
    ;()ob.show
    ;()this.Close

    اما مشکل اینجا هست که فرم لود میشه ، ولی فرم قبلی بسته نمی شه ... من چی کار باید انجام بدم ؟
    اشتباهم کجاست ؟؟؟

  2. #2
    با استفاده از متد های show و hide میتونی یک فرم رو نمایش ندی. اما اگه حتما میخوای یه فرم بسته بشه و بعد فرم بعدی نمایش داده بشه از طریق کلاس program.cs میتونی اینکار رو انجام بدی.

  3. #3
    من هم تقریبا چنین مشکلی دارم
    مشکل اصلی انجاست که وقتی فرم را hide میکنی هنوز در حافظه وجود دارد و اگر خواستی از فرم دوم دوباره به فرم اول برگردی نمیتونی فرم اول را show کنی.
    اگر بخواهی از فرم اول ، یک نمونه جدید هم بسازی ، چون نمونه اولی هنوز در حافظه هست چند بار که بین فرمها جابجا بشی با کمبود حافظه روبرو میشی

  4. #4
    کاربر دائمی آواتار اَرژنگ
    تاریخ عضویت
    آبان 1384
    محل زندگی
    arjang8000@gmail.com
    پست
    2,736
    نقل قول نوشته شده توسط behrouz_n مشاهده تاپیک
    من هم تقریبا چنین مشکلی دارم
    مشکل اصلی انجاست که وقتی فرم را hide میکنی هنوز در حافظه وجود دارد و اگر خواستی از فرم دوم دوباره به فرم اول برگردی نمیتونی فرم اول را show کنی.
    اگر بخواهی از فرم اول ، یک نمونه جدید هم بسازی ، چون نمونه اولی هنوز در حافظه هست چند بار که بین فرمها جابجا بشی با کمبود حافظه روبرو میشی
    شاید نگه داشتن یک رفرانس به چیزی که لازم دارید که دوباره استفاده کنید را را نگه دارید این مشکل را حل کنه؟

  5. #5
    می تونی visible فرم اول را بعد از لود فرم دوم false کنی .

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

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

    ;()Form2 ob = new Form2
    ;()ob.show
    ;()this.Close

    اما مشکل اینجا هست که فرم لود میشه ، ولی فرم قبلی بسته نمی شه ... من چی کار باید انجام بدم ؟
    اشتباهم کجاست ؟؟؟
    بسیار واضح هست که چرا فرم مورد نظرتون لود نمیشه!

    این نکته رو فراموش کردین که نمیشه فرم اصلی برنامه رو Close کرد.
    در فرم اصلی برنامه این دو تا کد با یکدیگر معادل هستند:
    this.Close();
    Application.Exit();

    برای اینکه فرم اصلی دیگه نمایش داده نشه، نمیتونید فرم اصلی رو Close کنید. پس باید اون رو Hide کنید.
    فرم اصلی برنامه فرمی هست که در Program.cs مشاهده میکنید:

    staticvoid Main()
    {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(newForm1());
    }

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

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

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