Home » » Vb.Net 2010 için Parent komutu kullanımı

Vb.Net 2010 için Parent komutu kullanımı

Öncelikle Parent komutu nedir hem açıklayalım hemde bir örnekle işlemlerimize başlayalım.

Diyelimki bir kayıt formu hazırladık ve bu form içerisinde 20-30 tane Textbox,ComboBox,CheckBox v.s var.
Kulanıcılar yeni bir kayıt yaptıktan sonra veya eski bir kaydı güncelledikten sonra "Kaydet" tuşuna basmayı unutarak yanlışlıkla o pencereyi kapatabilir.Bunu engellemek için herbir kontrolün üzerindeki verilerde bir değişiklik olup olmadığını tespit etmemiz gerekiyor.Sorun bir kontrol için geçerli olsaydı TextChange olayı ile bunu kolaylıkla tespit edebilirdik.Ama sözkonusu çok fazla sayıda kontrol olunca bu biraz zorlaşıyor.Belki Textboxlar için formun Keypres olayını kullanabiliriz ama Combobox lar CheckBoxlar için bu olayı kullanamayız...

Öyle bir şey olsun ki; formdaki kontrollerden herhangibiri üzerindeki bir değişimden bizim haberimiz olsun ve kullanıcıyı bu sayede uyarabilelim.



Yeni bir proje başlatalım ve Combobox türünde yeni bir CustomControl inşa edelim.Custom Control inşası hakkında bilgisi olmayanlar Vb.Net 2010 Custom Control Kullanımı burda açmış olduğum önceki konuya bakabilir.


Combobox türündeki yeni kontrolümüzün kod penceresine girelim ve içine "Change_Olayı" adında bir property yazalım.


Daha sonra "TextChanged" olayına yukardaki kodları yazalım.Burda önemli olan Text üzerinde değişim olayı gerçekleştiğinde kontrolümüzün içinde bulunduğu Ana Forma bilgi göndermesidir.Parent komutu kontrolümüz neyin içindeyse onun bilgisini döndürür.Yalnız burda dikkat edilecek husus eğer kontrolümüz herhangibir Tabcontrol veya GroupBox gibi başka kontrollerin içinde ise o kontrolün bilgisi dönecektir.Bu durumda "Parent" komutu yerine "FindForm" komutu kullanmanız gerekiyor."FindForm" komutu direkt bize kontrolün içinde bulunduğu formun bilgisini döndürür."Parent" ve "FindForm" arasındaki fark budur.


Şimdi yeni bir proje açıp formumuza oluşturduğumuz CustomControlümüzü ekleyelim.Properties penceresinde hazırlamış olduğumuz özellik çıkacaktır.Ordan "Change_Olayı" özelliğimizi True yapıp aktif hale getirelim.



Daha sonra Formumuzun kod penceresini açalım ve "Change_Olayı" adındaki değişkenimizi tanımlayalım.Böylece kontrolümüz ile arasında bilgi alışverişi sağlanmış olacak.Kontrolümüz üzerinde bir değişim olduğunda haberimiz olacak ve FormClosing olayında kullanıcımızı uyarma fırsatımız olacak.


Bu kontrolleri istediğimiz kadar çoğaltabilir TextBox,CheckBox,Listbox gibi her türlü control üzerinde yapabiliriz.Ayrıca gereksiz kodlardan da kurtulmuş oluruz.
 
Support : Vaganzi
Copyright © 2013. Visual Studio Kod Bankası - All Rights Reserved
Powered By Vaganzi