C# Windows Forms ile uygulama gelistirirken siklikla MDI Form kullaniriz. Ancak kullanirken sürekli ayni formun açilmasi kullanim açisindan çok olumlu degil...
Düsünün, her tikladigimizda açiliyor ve kullanici için hiç kullanisli degil.
Bir yazilimci programi gelistirirken mutlaka kullanici gözüyle test etmelidir. Evet isi bilen biri arka arkaya o formu açmaz. (Ya da hata var mi diye test etmek için açar.) Ama kullanici açisindan bakarsak arka arkaya tiklamalar yapabilir, bu durumda ayni form birden fazla kez açilacak, hem performans hem de kullanim açisindan hiç uygun olmayacak.
C# MDI Child Form'un Birden Fazla Açilmasini Nasil Engellerim?
Uygulamada ki açik formlari FormCollection nesnesine atariz daha sonrasinda basit bir foreach döngüsü ile bool türünden formun açik olup olmadigini tespit ederiz.
Sonrasinda ise basit bir if kontrolü. Açiksa açma, degilse aç.
Hemen kodlarimiza bakalim:
private bool MDIFormAcikmi(string formAdi)
{
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc)
{
if (frm.Name == formAdi)
{
return true;
}
}
return false;
}
Islem bu kadar:)
Kod'la kalin...
Yazılım Geliştirici & Yazılım Uzmanı