Kamis, 11 Juni 2015

Membuat Property Extender


Assalamualaikum.

                Kesempatan kali ini sekaligus tulisan pertama saya, saya ingin berbagi tentang extender property pada saat design time .net winform. sebelumya mohon di maklumi kalau struktur kalimat-kalimatnya masih jelek.. hehe…
Pernahkah teman-teman menggunakan component Tooltip atau errorprovider pada .Net. jika pernah pasti sudah tau kalau ketika kita menambahkan component tersebut dan kemudian kita akan mengedit property dari sebuah control dengan propertygrid pada visual studio, maka akan ada beberapa tambahan property pada control tersebut. Ini adalah property extender, jadi bukan property asli dari control tersebut, namun property yang di extend dari component tooltip ataupun errorprovider. Bagaimanakan ini bias di lakukan, kuncinya adalah di attribute ProvideProperty Dan interface IExtenderProvider. Attribute ProvideProperty fungsinya adalah sebagai pengenal kepada propertygrid, type objek apakah nantinya property akan di extend. Attribute ini memiliki 2 contructor, kontruktor pertama dengan parameter nama property dan string nama type yang akan menerima property nantinya, yang kedua adalah nama property dan objek type dari objek penerima. Kemudian interface IExtenderProvider, Interface ini memiliki satu fungsi bernama CanExtend dengan satu parameter bertype Object. Fungsi ini berfungsi sebagai pemfilter objek dengan kriteria apa sajakah yang bisa menerima property. Semisal pada attribute ProvideProperty kita menargetkan type System.Windows.Forms.Control, karena control yang menderived dari type tersebut banyak, tapi maunya kita Cuma textbox dan combobox yang bisa menerima, kita bisa melakukan filtrasi pada fungsi CanExtend ini.
Sebagai contoh saya akan membuat suatu component sebagai alat bantu untuk memvalidasi suatu inputan yang kita masukan kedalam textbox. Daripada ribet semua keterangan saya sertakan pada komentar kodenya aja.. hehee..

OK berikut ini merupakah hasil ahirnya..


 












link download PROJECT.