Aradığınız konuyu buradan bulabilirsiniz.
Hoşgeldiniz.Burada arama yapabilirsiniz.
Aramak istediğiniz kelimeyi giriniz...
C# ile ilgili kaynaklar
C# Konuları
SQL ile ilgili kaynaklar
SQL Konuları
ASP.NET ile ilgili kaynaklar
ASP.Net Konuları
Makale Başlığı Bir uygulamada açık olan formların tekrar açılmasını engellemek
4,76

 

public  void FormGoster(int MusDurum,string Baslik)
  {
      List<string> aciklar = new List<string>();
      foreach (Form item in Application.OpenForms)
      {
          aciklar.Add(item.Text);
      }
      string durum = "";
      durum = aciklar.Find(a => a == Baslik);
      if (durum == null)
      {
          frmMusteriler musfrm = new frmMusteriler(MusDurum, Baslik);
          musfrm.MdiParent = this;
          musfrm.Show();
      }
      else
      {
          foreach (Form item in Application.OpenForms)
          {
              if (item.Text == durum)
                  item.Activate();
          } 
      }
  }

              İlk adımda açık formların başlıklarını tutacağımız string liste tanımlıyoruz.Hemen altında Application.Forms koleksiyonunu dönerek açık olan formların başlıklarını tanımladığımız açıklar lisetesine ekliyoruz.
List<string> aciklar = new List<string>();
      foreach (Form item in Application.OpenForms)
      {
          aciklar.Add(item.Text);
      }

            Daha sonra durum adında string bir değişken tanımlıyoruz. Sonra lambda operatörü ile FormGoster() metoduna parametre olarak verdiğimiz FormBaşlığının açık olan formların içerisinde olup olmadığını kontrol ediyoruz. Eğer verdiğimiz form başlığı bu liste içerisinde yoksa yani bu form açık değilse bu formu açtırıyoruz. musfrm.MdiParent=this; kod satırında ise bu formun Parent formunun içinde bulunduğumuz form olduğunu belirtiyoruz.Yani musfrm formu içinde bulunulan form içerisinde açılacak.
string durum = "";
      durum = aciklar.Find(a => a == Baslik);
      if (durum == null)
      {
          frmMusteriler musfrm = new frmMusteriler(MusDurum, Baslik);
          musfrm.MdiParent = this;
          musfrm.Show();
      }

            Eğer parametre olarak verdiğimiz başlığa ait form aciklar listesinde varsa yani form açıksa bu formu tekrar açtırmıyoruz. Açık olan formları foreach ile tekrar dönüp durum değişkenine atadığımız başlığa ait formu açık formlar arasından bulup o formu item.Activate() metodu ile aktif hale getiriyoruz.
foreach (Form item in Application.OpenForms)
          {
              if (item.Text == durum)
                  item.Activate();
          } 
Kategori C#
Eklenme Zamanı 01.7.10 11:54:39
Okunma Sayısı 1069 kez görüntülenmiş
Bu konuya yapılan yorum sayısı 0 adet yorum eklenmiş
Düşüncelerinizi Yazın Bu yazı hakkında ne düşünüyorsunuz?
Ad - Soyad: 
E-Mail Adres:    
Web Sitesi:
Yorumunuz:  
Paylaş