Kalıtım İle Textbox’a Özellik Kazandıralım.

Merhaba değerli arkadaşlar;

Kalıtım nesne yönelimli programlamanın en önemli özelliklerinden biridir. Genelde kalıtımı anlatan hocalar bunu kendi türettikleri sınıftan (Hasta sınıfı, Öğrenci sınıfı, Araba sınıfı ) vs gibi sınıftan türetilerek anlatılır ve sırf bu yüzden çoğu kişini aklından yer etmez ve önemsenmez bu konu. Aslında çok önemli bir konu olmakla birlikte programlama dünyasında tam hakimiyet için ağırlık verirmesi gereken konuların başında gelir benim için. Herneyse şöyle bir özetle ufacık bir kalıtım örneği yapalım. Programımızın amacı textbox’a bir dosya yolu girilecek ve o dosya yolunda girilen dosya varsa textbox yazı rengini siyah yapacak eğer yoksa rengini kırmızı yapacak. Eee ne var canım bunda dediğinizi duyar gibiyim. Standart programlama ile if ve else ile rahatça yapılacak bir konu ancak biz burada yeni bir kontrol üretiyoruz tasarlıyoruz. Böyle bir yapıyı her yazdığınız programda kullandığınızı düşünün bu kodları defalarca yazmak yerine kontrolünüzü sürükleyip bırakmak ve herşeyin hazır olması çok daha güzel olmaz mıydı?  Şimdi yeni bir windows uygulaması açalım ve uygulamamıza FileTextBox.cs isimli bir class ekleyelim. Bu class’ı TextBox sınıfından miras alalım. Sınıfımıza kodlarımızı ekleyelim:

[csharp]

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Drawing;

namespace FileTextBox_Custom_Controls
{
class FileTextBox:TextBox
{
protected override void OnTextChanged(EventArgs e)
{
//Base class’ın değişken metni işlemesini sağlar.
base.OnTextChanged(e);
//Eğer dosya yok ise metni kırmızıya boya.
if (!File.Exists(this.Text))
{
this.ForeColor = Color.Red;
}
else
{
this.ForeColor = Color.Black;
}
}
}
}

[/csharp]

Kodlarımız ekledikten sonra F6 ile yada ctrl + shift +b ile projemizi derleyelim. Projemiz derlendikten sonra Toolbox araç kutusunu en üstünde FileTextBox adında bir kontrolümüzün geldiğini göreceksiniz. O kontrolü programımıza sürükleyip bırakalım. Projemizi derleyip çalıştırıp sonucu test edelim.

 

Unutmayın ki bu konu üzerinde ağırlık verilmesi gereken son derece önemli bir konudur. Tavsiyem böyle yeni nesneler türeterek o nesnelere özellikler ekleyip konuyu pekiştirmeniz olacaktır.

Mesut Güneş

Selçuk Üniversitesi Bilgisayar programcılığı bölümünden mezun olduktan sonra birçok firmada Yazılım, İş zekası ve Veritabanı Uzmanı olarak çalıştım. Şuan Türkiye’nin en büyük şirketlerinden biri olan Doğan Online’da Veritabanı Yöneticisi olarak çalışıyorum.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.