PDA

View Full Version : minimise شدن فرم های دیگر همزمان با مینیمایز شدن فرم اصلی



hamix666
دوشنبه 19 تیر 1396, 15:48 عصر
با سلام
یه مشکلی برای من پیش اوومده از دوستان کمک می خوام
داخل برنامه می خوام وقتی صفحه اصلی مینیمایز بشه تمام فرم های باز پروژه نیز بسه بشه چی کار بایدکرد؟

336699
دوشنبه 19 تیر 1396, 19:28 عصر
با سلام
یه مشکلی برای من پیش اوومده از دوستان کمک می خوام
داخل برنامه می خوام وقتی صفحه اصلی مینیمایز بشه تمام فرم های باز پروژه نیز بسه بشه چی کار بایدکرد؟



Form2 frm2;
Form3 frm3;

private void button1_Click(object sender, EventArgs e)
{
frm2 = new Form2();
frm2.Show();

frm3 = new Form3();
frm3.Show();
}

private void Form1_Resize(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
if (frm2 != null)
frm2.Close();

if (frm3 != null)
frm3.Close();
}
}

hamix666
دوشنبه 19 تیر 1396, 20:29 عصر
Form2 frm2;
Form3 frm3;

private void button1_Click(object sender, EventArgs e)
{
frm2 = new Form2();
frm2.Show();

frm3 = new Form3();
frm3.Show();
}

private void Form1_Resize(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
if (frm2 != null)
frm2.Close();

if (frm3 != null)
frm3.Close();
}
}



مرسی از پاسخت ولی نشد
ضمنا من نمی خوام فرم ها بسته بشه می خوام وقتی صفحه اصلی مینیمایز شد بقیه صفحه ها هم مینیمایز بشه و وقتی روش در تسک کلیک شد ماکسی مایز بشن

MMR_1234
سه شنبه 20 تیر 1396, 05:19 صبح
زمانی که هر فرم رو باز میکنی لازم ازلاعات اون فرم رو مانند نام در فایلی وارد کنی
زمانی که فرم اصلی مینیمایز میشه اون فایل فراخوانی بشه و تمامی فرهای موجود درون اون رو هم مینیمایز کنی

Mahmoud.Afrad
سه شنبه 20 تیر 1396, 06:05 صبح
میتونید Owner فرمهای دیگر را برابر فرم اصلی قرار بدید.

یا

در رویداد Resize ، عمل مورد نظر را روی مجموعه فرمهای باز(Application.OpenForms) انجام بدید.

hamix666
سه شنبه 20 تیر 1396, 07:13 صبح
زمانی که هر فرم رو باز میکنی لازم ازلاعات اون فرم رو مانند نام در فایلی وارد کنی
زمانی که فرم اصلی مینیمایز میشه اون فایل فراخوانی بشه و تمامی فرهای موجود درون اون رو هم مینیمایز کنی
اگه امکان داره مثال بزنید

hamix666
سه شنبه 20 تیر 1396, 07:14 صبح
میتونید Owner فرمهای دیگر را برابر فرم اصلی قرار بدید.

یا

در رویداد Resize ، عمل مورد نظر را روی مجموعه فرمهای باز(Application.OpenForms) انجام بدید.
چطوری باید این کار را انجام داد؟

336699
سه شنبه 20 تیر 1396, 11:19 صبح
چطوری باید این کار را انجام داد؟

private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
foreach (Form frm in Application.OpenForms)
{
frm.WindowState = FormWindowState.Minimized;
}
}
}

hamix666
چهارشنبه 21 تیر 1396, 06:00 صبح
private void Form1_SizeChanged(object sender, EventArgs e)
{
if (this.WindowState == FormWindowState.Minimized)
{
foreach (Form frm in Application.OpenForms)
{
frm.WindowState = FormWindowState.Minimized;
}
}
}


مرسی درست شد فقط برای ریستور کردن همه پنجره ها چی کار باید کرد؟
یه مشکل دیگه هم دارم اگه اینم راهنمایی کنید ممنون می شم
یک فرم دارم گه داخل اون یک جدول هست که با یک تامر آپدیبت می شه
و این فرم توسط 3 کلید مجزا و با عنوان های مختبق صدا می شود if (Application.OpenForms.OfType<_FrPaziresh>().Any() == false) {




frPaziresh.Karbar = lblUserName.Text;
frPaziresh.typelistform = 1;
frPaziresh.Text = "لیست پذیرش";
frPaziresh.Show();

}
مثل این خالا مشکل اینجاست وقتی یک بار این فرم فرا خوانی می شود برای بار دوم ارور می دهد
Additional information: Cannot access a disposed object.