نقل قول: مشکل در کار با چند فرم
نقل قول:
نوشته شده توسط
saeidgab
سلام، من یک فرم دارم که میخوام از اون پنج تا شی(فرم) ایجاد کنم که هر کدوم مقادیر مربوط به خودشونو در کنترلهاشون نمایش بدن.تشخیص این که در کدوم فرم هستم هم با پنج تا متغییر Public بولین انجام میدم. اول هم فرم اول ظاهر میشه که در فرم میتونم بقیه فرمارو (2و3و4و5) رو ایجاد کنم.در سایر فرم ها هم به همین شکل میتونم به باقی فرم ها دسترسی اشته باشم. اگه یک فرم از قبل ایجاد شده بود فقط روی اون focus میکنم و دیگه ایجادش نمیکنم. مشکل اینجاست که وقتی فرم اول close میشه باقی فرمها هم close میشن.
لطفا راهنمایی کنید.
از mdiParent و mdiChild که اهیانا استفاده نکردی؟
نقل قول: مشکل در کار با چند فرم
نقل قول: مشکل در کار با چند فرم
نقل قول:
نوشته شده توسط
saeidgab
نه استفاده نکردم.
آهاااااااااااان
فهمیدم.
چون فرم پیش فرض برنامتون اون form1 است.
برو تو 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 Form2());
}
}
این خط رو عوض کن:
Application.Run(new Form2());
نقل قول: مشکل در کار با چند فرم
نقل قول:
نوشته شده توسط
dr_jacky_2005
آهاااااااااااان
فهمیدم.
چون فرم پیش فرض برنامتون اون form1 است.
برو تو 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 Form2());
}
}
این خط رو عوض کن:
Application.Run(new Form2());
ممنون از توجهت، ولی به این شکل هم مشکل حل نمیشه چون وقتی Form 2 بسته شه بقیه هم بسته میشن، به عبارت دیگه پنج تا فرم دارم که میخوام وقتی همشون بسه شده برنامه end بشه در غیر اینصورت هر کدوم از این فرما که بالا بود اگه یه فرمو بستم برنامه end نشه.
دوباره ممنون از توجه و کمکت.
نقل قول: مشکل در کار با چند فرم
نمیشه فرم اصلی رو بست و از بقیه فرم ها استفاده کرد مگه این که فرم اصلی رو هاید کنی یا یا اینکه فرم اصلی نامرئی باشه و برنامه رو کنترل کنه.
نقل قول: مشکل در کار با چند فرم
نقل قول:
نوشته شده توسط
2ndsigner
نمیشه فرم اصلی رو بست و از بقیه فرم ها استفاده کرد مگه این که فرم اصلی رو هاید کنی یا یا اینکه فرم اصلی نامرئی باشه و برنامه رو کنترل کنه.
منم موافقم.
اون تیکه کدی هم که من دادم واسه این بود که بگم اونطوری میشه بگی کدوم فرم اولت شه.
به نظر منم بایدhidden کنی.
showInTaskBar را هم از property
false کن
نقل قول: مشکل در کار با چند فرم
نقل قول:
نوشته شده توسط
2ndsigner
نمیشه فرم اصلی رو بست و از بقیه فرم ها استفاده کرد مگه این که فرم اصلی رو هاید کنی یا یا اینکه فرم اصلی نامرئی باشه و برنامه رو کنترل کنه.
خب چطور میتونم کلید close (ضربدر بالای صفحه) رو کنترل کنم که با زدنش صفحه hide بشه و بسته نشه؟
نقل قول: مشکل در کار با چند فرم
نقل قول:
نوشته شده توسط
saeidgab
خب چطور میتونم کلید close (ضربدر بالای صفحه) رو کنترل کنم که با زدنش صفحه hide بشه و بسته نشه؟
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true;
this.Hide();
}
نقل قول: مشکل در کار با چند فرم
کافیه توی رویداد FormClosing هر فرم دستور باز شدن فرمی که میخوای را بدی و فرمی که داخلش هستی را hide کنی
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
Form2 frm = new Form2();
this.Hide();
frm.ShowDialog();
}