PDA

View Full Version : مشکل در خروج از فرم اول در هنگام ورود به فرم دوم



Collector
شنبه 14 آبان 1390, 13:02 عصر
سلام

من یه برنامه نوشتم که اگر دکمه فرم دوم رو زدم فرم اول Close بشه.
اما این کار با فراخوانی فرم دوم انجام نمیشه.
البته من نمیخوام Hide کنم من میخوام کاملا این فرم از حافظه خارج بشه.

mmd2009
شنبه 14 آبان 1390, 14:03 عصر
با سلام

شما میتونید به این صورت Run برنامه رو به یک فرم دیگه بدید :


private void Button1Click(object sender, EventArgs e)
{
var form2 = new Thread(() => RunForm2(new Form2()));
form2.Start();
Close();
}
private static void RunForm2(Form newForm2)
{
Application.Run(newForm2);
}

saeedhushmand
شنبه 14 آبان 1390, 16:20 عصر
دوست عزیز چون شما close برای فرم اولت اجرا می کنی این کار انجام نمی شه و با بسته شدن فرم 1 (فرم اصلی )کل برنامه بسته می شه

اگه شما این کار برای فرم2 و فرم3 انجام بدی کاری که می خوای انجام می شه(فرم 1 فرم اصلی برنامه و با بسته شدن اون برنامه یسته می شه

امیدارم منظورم فهمیده باشی..

Collector
شنبه 14 آبان 1390, 18:15 عصر
با سلام

شما میتونید به این صورت Run برنامه رو به یک فرم دیگه بدید :


private void Button1Click(object sender, EventArgs e)
{
var form2 = new Thread(() => RunForm2(new Form2()));
form2.Start();
Close();
}
private static void RunForm2(Form newForm2)
{
Application.Run(newForm2);
}


ممنون که پاسخ دادید
اما وقتی که من از این کد برای دکمه Close استفاده میکنم هنگام ورود به فرم دوم پیغام نشان داده میشود.

DialogResult Result;
Result = MessageBox.Show("شما قصد دارید از برنامه خارج شوید ؟", "خروج", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

if (Result != DialogResult.Yes)
{
e.Cancel = true;
}

mmd2009
شنبه 14 آبان 1390, 18:49 عصر
این کدی که نوشتید در رویداد close هستش برای همین به شما پیام رونشون میده.

Collector
شنبه 14 آبان 1390, 20:12 عصر
این کدی که نوشتید در رویداد close هستش برای همین به شما پیام رونشون میده.

آره این کد رو توی رویداد Close نوشتم برای دکمه Close فرم .
ظاهرا برای اون کدی که شما دادید اخلال ایجاد میکنه .