MDI Form ve Tabbed Page MDI Nasıl Yapılır?

MDI form kısa tanımı, iç içe form olarak yapılabilir. C# Windows Form çalışmalarında birden fazla ekranla çalışmalarda açılan ikinci, üçüncü vs. formların ana formdan bağımsız açılması yerine ana formun içinde açılmasını sağlayan yapıdır.

Formları içinde barındıracak olan ana form MDIParent, ana form içinde açılan formlara da MDIChild ismi verilir. Açılan her bir MDIChild, MDIParent formunun MDIChildren koleksiyonunda tutulur.

MDI form yapılırken yapılan işlemler şöyledir:

  • MDIParent olarak kullanılacak olan ana formun IsMdiContainer özelliği true olarak ayarlanır.
  • Ana form içinde açılacak olan child formun MdiParent özelliğine de this anahtar kelimesi ile ana forma bağlanır.
  • Child formu Show() metodu ile form açılır.

Projenin kodlarına aşağıdaki GitHub linkinden ulaşabilirsiniz:

https://github.com/saitorhan/StudyingMdiForms

Uygulama Videosu




Hesap Makinesi

Programın temel özellikleri:

  • Yapılan işlem dizisinin tarihçesini tutar
  • Tutulan işlem tarihçesini txt dosyasına çıktı alabilir
  • txt dosyasına çıktı alınan işlem tarihçesini programa alıp hatalı işlem kontrolü sağlar

Programın kodlarını https://github.com/saitorhan/HesapMakinesi adresinden alabilirsiniz.




CustomTextBox User Control

C# ile yazılan projelerde ihtiyaç duyulan en önemli kontrollerden biri de sadece rakam veya harf kabul eden TextBox’tır. Bu projede user kontrolün özelliği olan  DataType özelliğine göre sadece rakam, harf veya sadece ikisini kabul eden textbox örneği yer almaktadır.

Projeye aşağıdaki linkten ulaşabilirsiniz:

https://github.com/saitorhan/CustomTextBox




MessageBox Örnekleri

 MessageBox.Show metodu çoğu zaman bir programcının en büyük yardımcısı olabilmektedir. Bir işlem sonunda işlemin sonucu hakkında bilgi vermek, oluşan hataları ekranda göstermek, silme veya güncelleme işlemi öncesinde kullanıcıdan son onay alma işlemlerinde yegane çözüm kaynağıdır.

Aşağıda MessageBox hakkında çeşitli örnekler bulunuyor. Yararlı olması dileğiyle, örneklerimize başlayalım:

Örnek 1.

 Sadece tek parametre ile çağrılabilir. Bu durumda verilen masajı “Tamam” butonu ile ekrana yazar.

 

Örnek 2.

İkinci çağırma şeklimiz, iki parametreli çağırmadır. Bu varyasyonda ilk parametre mesaj, ikinci parametremiz de mesaja yazılacak başlığı belirtmektedir. Gene aynı şekilde “Tamam” butonuyla göstermektedir.

Örnek 3.
Üçüncü çağırma şeklimiz ise üç parametreli çağırmadır. Üçüncü parametremiz gösterilecek mesaj kutusuna hangi butonların gösterileceğini ifade eder. Parametre türümüz MessageBoxButtons Enum setindendir.

MessageBox.Show metodu DialogResult türünde bir cevap döner. Bu cevap içerisinde kullanıcının hangi butona tıkladığı bilgisi vardır. Dönen sonuca göre program akışında gerekli yönlendirme yapılabilir.

Örnek 4.

Dördüncü çağırma şeklimiz ise dört parametreli çağırmadır. Bu örnekte ki dördüncü parametremiz ise açılan mesaj kutusuna ikon eklemek için kullanılır. Parametre MessageBoxIcon Enum setindendir.

Örnek 5.

Beşinci çağırma şeklimiz ise beş parametreli çağırmadı. Bu örnekteki beşinci parametremiz ise açılan mesaj kutusunda gösterilen butonlardan kaçıncı sıradakinin varsayılan buton olacağını belirtir. Parametremiz MessageBoxDefaultButton Enum setindendir. Buton numarasını soldan sağa doğru sayar.

 

 




Devexpress Wait Form Programatik Olarak Açıklama ve Başlık Değiştirme

Merhabalar,

 Devexpress içerisinde işlemin arka planda devam ettiği süre içerisinde ekranda tutmak üzere gayet kullanışlı bir form bulunmaktadır: Wait Form.

Wait Form’u kullanışlı kılan özelliklerinin başında arka planda ne işlemin yapıldığını kullanıcıya göstermek için başlık ve açıklama adında iki özelliğinin olmasıdır. Ardı ardın adevam eden farklı işlemleri kullanıcıya haber vermek için form üzerindeki başlık ve açıklama alanlarını güncellemek gerekebilmektedir.

Başlık ve açıklama bilgisini güncellemek için kullanacağımız kod aşağıdaki gibidir:

[cshar]

SplashScreenManager.Default.SetWaitFormCaption(caption);
SplashScreenManager.Default.SetWaitFormDescription(description);

[/cshar]

 




Grid Control, Master Detail Grid Kolonlarını Düzenleme

Merhaba arkadaşlar,

Devexpressi bilen arkadaşlar, devexpresin güzelliklerinden haberdardır.
Devexpress grid control komponentinin en güzel özelliklerinden biri gridin satırına ait var olan detayların da alt grid olarak açılabilmesidir.

Master Detail Grid Örneği

Gridin kendi kolonlarını ara yüzden rahatlıkla düzeltilebiliyor ancak master detail grid kolonlarının kod ile düzenlenmesi gerekmektedir.
Bu işlem için ana gride ait  viewın MasterRowExpanded olayını aşağıdaki gibi yazmamız gerekecek.