PDA

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



bahar_engineer
دوشنبه 20 مهر 1388, 11:29 صبح
سلام

چطور می شه فرم های پنهان باز روی برنامه رو در رویداد کلیک یک دکمه بست؟

اون کد application.openform رو گذاشتم اما اولا خطا می گیره . ثانیا من فقط می خوام فرم های هیدن شده رو ببندم

Reza_Yarahmadi
دوشنبه 20 مهر 1388, 21:36 عصر
کد زیر رو امتحان کن ببین کارتو راه میندازه یا نه!
int OpenForms = Application.OpenForms.Count;
int j = 1;
for (int i = 1; i < OpenForms; i++)
if (!Application.OpenForms[j].Visible)
Application.OpenForms[j].Close();
else
j++;

asefy2008
دوشنبه 20 مهر 1388, 22:13 عصر
سلام دوست من فکر کنم روش برنامه نویسیتون مشکل داشته باشه وگرنه تا اون جایی که من با این اطلاعات ناقصم می دونم نباید همچین مشکلی پیش بیاد .
البته بازهم نظر بزرگان شرطه.
موفق باشید

amir-haghighi
سه شنبه 21 مهر 1388, 12:30 عصر
سلام .

این رو تست کن ببین چی میشه ::



foreach(control c in this.controls){
if(c is form && c.visible == false) {
c.dispose();
}
}


من خودم یه برنامه داشتم که باید توش به جای فرم های DLL ها رو از بین میبردم که از این کد استفاده کردم و جواب گرفتم . مطمئنم با کمی تغییر میتونه مشکل شما رو برطرف کنه .

اَرژنگ
سه شنبه 21 مهر 1388, 17:47 عصر
سلام دوست من فکر کنم روش برنامه نویسیتون مشکل داشته باشه وگرنه تا اون جایی که من با این اطلاعات ناقصم می دونم نباید همچین مشکلی پیش بیاد .
البته بازهم نظر بزرگان شرطه.
موفق باشید

خیر، شرط نیست، حرفه منطقی میزنید و درست هم میگید.

اَرژنگ
سه شنبه 21 مهر 1388, 17:51 عصر
سلام .

این رو تست کن ببین چی میشه ::



foreach(control c in this.controls){
if(c is form && c.visible == false) {
c.dispose();
}
}


من خودم یه برنامه داشتم که باید توش به جای فرم های DLL ها رو از بین میبردم که از این کد استفاده کردم و جواب گرفتم . مطمئنم با کمی تغییر میتونه مشکل شما رو برطرف کنه .

asefy2008 حرف درست زد، این نوع نشان یک نوع مشکل دیگر در کار است. بیشتر مشکل ایجاد میکنه بجایه اینکه حل کند.
منتها برایه حالتهایه مخلتف راه حلهایه مختلفی وجود دارند. (در جستجویه این یکیش هستم)