PDA

View Full Version : سوال: تغییر فرم اصلی برنامه



Amin69
سه شنبه 14 مرداد 1393, 11:01 صبح
سلام
بچه ها من یه فرم اصلی دارم. میخوام وقتی روی یه دکمه از این فرم کلیک میکنم، یه فرم دیگه باز بشه و این فرم بسته بشه.
اما چون فرم اولی، فرم اصلی برنامه هست، با بسته شدن این فرم، برنامه بسته میشه!
بنظر شما راه حل چیه؟

mrprestige
سه شنبه 14 مرداد 1393, 11:25 صبح
سلام ، توی دکمه ای که تو فرم اصلیت قرار دادی اینو بنویس

Form a = new Form();
a.Show();
this.Hide();

محمد آشتیانی
سه شنبه 14 مرداد 1393, 11:31 صبح
سلام
Hide کردن فرم که اصولی نیست.

فایل Program.csرو به اینصورت تغییر بدین


static class Program
{
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(fals e);
Application.Run(new MyContext());
}
}
public class MyContext : ApplicationContext
{
public MyContext()
{
Application.Idle += new EventHandler(Application_Idle);
Form1 f1 = new Form1();
f1.Show();
}
void Application_Idle(object sender, EventArgs e)
{
if (Application.OpenForms.Count == 0)
Application.Exit();
}
}


مشکل حل میشه ، اینجوری به جای بسته شدن برنامه با بستن فرم اصلی ، وقتی آخرین فرم رو میبندی ، برنامه بسته میشه. یعنی شما برای فراخوانی فرم 2 اگر فرم 1 رو close کنید برنامه بسته نمیشه
به این ترتیب با خیال راحت فرم ها رو Close کنید.


Form2 f = new Form2();
f.Show();
this.Close();


موفق باشید

Amin69
سه شنبه 14 مرداد 1393, 11:32 صبح
سلام ، توی دکمه ای که تو فرم اصلیت قرار دادی اینو بنویس

Form a = new Form();
a.Show();
this.Hide();


ممنون؛
ولی در این حدش رو بلدم!
میخوام پنجره اولی بسته بشه؛ یعنی this.close()

Amin69
سه شنبه 14 مرداد 1393, 11:36 صبح
سلام
Hide کردن فرم که اصولی نیست.

فایل Program.csرو به اینصورت تغییر بدین
...
موفق باشید

أحسنت!

دقیقا همون چیزی بود که میخواستم؛ تشکر

mrprestige
سه شنبه 14 مرداد 1393, 11:54 صبح
ممنون . منم اینو نمی دونستم شرمنده . :خجالت: