PDA

View Full Version : سوال: رفتن به فورم 2 و بسته شدن همزمان فورم 1



rezam44
سه شنبه 04 تیر 1392, 11:33 صبح
سلام دوستان

2 تا فورم دارم .... تو فورم 1 یه دکمه که وقتی می زنم فورم 2 رو برام باز می کنه... یه کد می خوام وقتی فورم 2 رو برام باز می کنه ... همزمان فورم 1 رو هم ببنده...

ممنونم....:قلب:

mthreat.info
سه شنبه 04 تیر 1392, 11:44 صبح
This.Hide(); اگه فرم اصلی رو ببندی C#‎ فکر میکنه که از برنامه میخوای خارج بشی بخاطر همین فرم اول رو مخفی و فرم دوم رو نمایش میدیم برای از مخفی در آوردن هم از
Application.OpenForms["Form1"].Show();

rezam44
سه شنبه 04 تیر 1392, 11:51 صبح
This.Hide(); اگه فرم اصلی رو ببندی C#‎ فکر میکنه که از برنامه میخوای خارج بشی بخاطر همین فرم اول رو مخفی و فرم دوم رو نمایش میدیم برای از مخفی در آوردن هم از
Application.OpenForms["Form1"].Show();


روشی بغیر از این وجود نداره؟
آخه وقتی فورم 2 رو هم خارج می شم ... فورم 1 در حالت مخفی باقی می مونه و باید برم از windows task manager ببندم

veniz2008
سه شنبه 04 تیر 1392, 12:04 عصر
سلام.
با فرض اینکه فرم 1 شما فرم والد باشه میتونید فرم 2 رو در یک ترد جدید اجرا کنید و فرم 1 رو ببندید :
بصورت ساده بگم :
درون دکمه ای که قراره فرم 2 رو نشون بده کد زیر رو قرار بده :

System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(ShowMainForm));
t.Start();
this.Close();


تابع ShowMainForm رو که در کد بالا اومده ایجاد کنید و درون اون فرم مقصدی که دوست دارید نمایش داده بشه رو قرار بدید:

private void ShowMainForm()
{
Form2 f2 = new Form2();
f2.ShowDialog();
}


موفق باشید.

rezam44
سه شنبه 04 تیر 1392, 12:17 عصر
سلام.
با فرض اینکه فرم 1 شما فرم والد باشه میتونید فرم 2 رو در یک ترد جدید اجرا کنید و فرم 1 رو ببندید :
بصورت ساده بگم :
درون دکمه ای که قراره فرم 2 رو نشون بده کد زیر رو قرار بده :

System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(ShowMainForm));
t.Start();
this.Close();


تابع ShowMainForm رو که در کد بالا اومده ایجاد کنید و درون اون فرم مقصدی که دوست دارید نمایش داده بشه رو قرار بدید:

private void ShowMainForm()
{
Form2 f2 = new Form2();
f2.ShowDialog();
}


موفق باشید.
_________________________________
خیلی متشکرم... جواب داد

rezam44
سه شنبه 04 تیر 1392, 12:25 عصر
سلام.
با فرض اینکه فرم 1 شما فرم والد باشه میتونید فرم 2 رو در یک ترد جدید اجرا کنید و فرم 1 رو ببندید :
بصورت ساده بگم :
درون دکمه ای که قراره فرم 2 رو نشون بده کد زیر رو قرار بده :

System.Threading.Thread t = new System.Threading.Thread(new System.Threading.ThreadStart(ShowMainForm));
t.Start();
this.Close();


تابع ShowMainForm رو که در کد بالا اومده ایجاد کنید و درون اون فرم مقصدی که دوست دارید نمایش داده بشه رو قرار بدید:

private void ShowMainForm()
{
Form2 f2 = new Form2();
f2.ShowDialog();
}


موفق باشید.

_________________________________

کلید space رو میشه تو maskedtextbox غیر فعال کرد؟

mthreat.info
سه شنبه 04 تیر 1392, 12:26 عصر
روشی بغیر از این وجود نداره؟
آخه وقتی فورم 2 رو هم خارج می شم ... فورم 1 در حالت مخفی باقی می مونه و باید برم از windows task manager ببندم
خب تو فرم کلوزد میتونی بنویسی Application.exit();

rezam44
سه شنبه 04 تیر 1392, 12:30 عصر
کلید space رو میشه تو maskedtextbox غیر فعال کرد؟

veniz2008
سه شنبه 04 تیر 1392, 12:46 عصر
کلید space رو میشه تو maskedtextbox غیر فعال کرد؟
بله میشه. از رویداد keypress استفاده کنید :

private void maskedTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == ' ')
{
e.Handled = true;
}
}

rezam44
سه شنبه 04 تیر 1392, 12:57 عصر
بله میشه. از رویداد keypress استفاده کنید :

private void maskedTextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == ' ')
{
e.Handled = true;
}
}


ممنون...................................