PowerShell ile Windows Formları Oluşturma

Yaklaşık 6 sene önce Microsoft Monad kod ile Windows işletim sistemlerindeki görevleri gerçekleştirmek için bir Shell geliştirdiğini iletti. Sonradan ismi Windows PowerShell olarak değiştirilen bu yeni Shell aradan geçen bu 6 senede neredeyse tüm Windows Sistem Yöneticilerinin değişmez script aracı oldu.

Blog üzerinde daha önce yayınladığım PowerShell Öğreniyorum yazı serisinde PowerShell ile yapılabilecekleri kısaca incelemiştik. Bu kısa yazıda ise belki de tahmin etmediğiniz üzere Windows PowerShell kullanarak Windows Formlarının nasıl oluşturulduğunu inceleyeceğiz.

Bilindiği gibi Windows PowerShell .NET kütüphanesine erişebilmekte ve burada bulunan onlarca farklı metodu kullanabilmektedir. Bu sayede Windows PowerShell ile tümleşik olarak sunulmayan bir çok işlev gerçekleştirilebilmektir.

Windows Fromlarını oluşturmak için yapılması gereken ilk işlem System.Windows.Forms assembly sini PowerShell içerisine yüklemektir. Bu işlem için aşağıdaki komut kullanılabilir:

Add-Type -AssemblyName System.Windows.Forms

Artık yeni formumuzu oluşturabilir. Bu işlem için YeniForm isimli bir değişken belirleyeceğim ve System.Windows.Froms.Form objesini bu değişkene atayacağım.

$YeniForm = New-Object system.Windows.Forms.Form

Şimdi oluşturulan bu formu çağırabilir. Ancak formun Windows üzerinde görünür kılınması için ShowDialog metotunu çağırmamız gerekiyor.

$YeniForm.ShowDialog()

Artık elimizde boş bir Windows Formu bulunuyor.


Artık diğer propertyleri kullanarak bu formu düzenleyebiliriz. Örneğin başlığını değiştirebilir, içerisine metin, buton, dropdown menu öğeleri ekleyebilir, açıldığında ekranın hangi noktasında başlayacağını ve boyutunun ne olacağını düzenleyebilir.

Başlığı değiştirmek için .text özelliğini değiştirelim:

$YeniForm.Text = “Bu yeni bir formdur”


Benzer şekilde formun içerisine bir metin eklemek için:

$Metin = New-Object System.Windows.Forms.Label

$Metin.Text = “Formun içerisinde bu metin yazacaktır”

$YeniForm.Controls.Add($Metin)

Formun boyutunu değiştirmek için:

$YeniForm.Width = 400

$YeniForm.Height = 400

Komutları kullanılabilir.

Devam eden blog yazılarında daha karmaşık ve faydalı formların nasıl düzenleneceğini inceliyor olacağız.