Merhaba arkadaşlar; Bu makalemde sizlere .net platformunda User Control oluşturmayı anlatacağım. Önce User Control nedir ve ne gibi durumlarda işe yarar bunları tanımlayacağız. Ardından da ufak bir örnek yapacağız. User Control, programcının kendi ihtiyaçları doğrultusunda oluşturabileceği özelleştirilmiş kontrollerdir. Mesela bir textbox…..Hemen textbox diye bir kontrolün zaten var olduğunu söylediğinizi duyar gibiyim. Tabiki bunu basit bir textbox olarak düşünmeyin. Örnek vermek gerekirse biz textbox ‘a girilen bilginin sadece sayısal bir bilgi olmasını istiyoruz. Diğer bir deyişle textbox’ a A-B-C gibi alfanümerik bilgilerin girilmesini istemiyoruz. Bu işlemi yapan kod bloğu zaten bellidir. Peki uygulamanızda kullanacağınız textbox sayısı çok fazlaysa ne yapacaksınız ? Hemen söyleyeyim aynı kodu kopyala yapıştır tekniği ile tüm textbox ‘lar için yazarsınız. Fakat bu çözüm göründüğü gibi çok komik ve programcılık açısından mantıksız bir durumdur. Ayrıca ilerde bu kod üzerinde bir değişiklik yapmak istediğinizde başınız çok ağrıyacaktır. İşte User Control dediğimiz kavram tam olarak burada bizim imdadımıza yetişiyor. Kendimiz bir textbox kontrolü hazırlayıp sadece bunun için gereken kodu yazıp sonra bunu projelerimizde kullanabiliyoruz.1-) Öncelikle Visual Studio ‘yu açıp Windows Control Library tipinde myTextBox adında bir proje yaratıyoruz.

{ ASP.NET } User Control Geliştirme  - Murat YUKSEL
{ ASP.NET } User Control Geliştirme – Murat YUKSEL

2-) Proje yaratıldıktan sonra karşımıza standart windows applicationlardan farklı olarak bir form çıkacaktır. Bu formun bir baçlık çubuğu yoktur. Zaten biz formu kullanmaktan ziyade form üzerine koyduğumuz kontrol üzerinde işlem yapacağız. Bunun için formun üzerine bir textbox koyuyoruz ve adınıda txtBox olarak belirtiyoruz. Formun adını ise myTextBox olarak belirtiyoruz.

{ ASP.NET } User Control Geliştirme  - Murat YUKSEL
{ ASP.NET } User Control Geliştirme – Murat YUKSEL

3-) Kontolümüzü forma koyduktan sonra kod sayfasına geçip textbox’ ın Key_Press eventi altına aşagıdaki kod bloğunu yazmamız gerekiyor. Bu kod basılan tuşun kontrolünü yapar ve eğer nümerik bir bilgi girilmişse bunu textbox içine ekler fakat alfanümerik bir bilgiyse eklemez.Private void txtBox_KeyPress(object sender, KeyPressEventArgs e){if(Char.IsDigit(e.KeyChar) == false && Char.IsControl(e.KeyChar) == false)e.KeyChar = ‘’;}4-) Kodlarımızı yazdığımıza göre artık textbox’ ımızı kendi uygulamalarımızda aynı işlem için bir satır bile kod yazmadan kullanabiliriz. Öncelikle User Control’ ümüzü derlememiz gerekiyor. Bunun için önce Debug olarak varsayılan derleme şeklini Release olarak seçiyoruz. Ardından Build Menüsünden; Build >> Build Solution ile projeyi derliyoruz.Kontrolümüz projenin bulundugu dizinde Release klasörü içinde bulunuyor.

{ ASP.NET } User Control Geliştirme  - Murat YUKSEL
{ ASP.NET } User Control Geliştirme – Murat YUKSEL

5-) Şimdi bu User Control projesini kapatıp yeni bir windows application açıyoruz. Adı çokta önemli değil. Bu kendi projenizde olabilir tabiki. Bu aşamada yapacağımız işlem oluşturduğumuz myTextBox isimli kontrolü projemiz içine ekleyip onu kullanmaktır.Peki bu control’ ü projemize nasıl ekleriz. Hemen daha önceden oluşturduğumuz user kontrolü bulundugu yerden kopyalayıp yeni projemizin bulunduğu dizindeki debug klasörü içine yapıştırıyoruz.Sonra Visual Studio ‘a geri dönerek toolboxta herhangi bir yere sağ tıklayıp Choose Items seçeneğini seçiyoruz.

{ ASP.NET } User Control Geliştirme  - Murat YUKSEL
{ ASP.NET } User Control Geliştirme – Murat YUKSEL

Ardından karşımıza çıkan pencerede Browse ‘a tıklayıp debug klasörü içine attığımız myTextBox.dll isimli dosyayı secip open diyoruz. Ardından ilk açılan pencerede OK diyerek işlemi onaylıyoruz.

{ ASP.NET } User Control Geliştirme  - Murat YUKSEL
{ ASP.NET } User Control Geliştirme – Murat YUKSEL

Artık kontrolümüz kullanıma hazır bir şekilde toolbox içine eklenmiştir.

{ ASP.NET } User Control Geliştirme  - Murat YUKSEL
{ ASP.NET } User Control Geliştirme – Murat YUKSEL

Formun üzerine birtane koyup projeyi çalıştırıp hemen bir deneme gerçekleştirebilirsiniz.