C# Dersleri 55 - MaskedTextbox Kullanımı

     Geliştirdiğimiz uygulamalarda kullanıcıların girdiği verilerin bir kısmının istediğimiz formatlara uygun olmasını isteriz. Örneğin kullanıcının yaşını girdiği bir textbox'a sayı haricinde bir değer girmemeli. Ya da telefon numarası bilgisi alıyorsak girilen değerin başta 3 haneli alan kodu ve daha sonra 7 haneli bir numara içermesini bekleriz.

     C# ile Windows form uygulamaları geliştirirken bu gibi kısıtlamaları yapabilmemizi sağlayan çok güzel bir tool var : MaskedTextbox. Kullanımı da oldukça kolay olan bu toola örneklerle kısaca bakalım.

     Toolbox'tan forma bir MaskedTextbox ekleyerek başlayalım.

C# ile MaskedTextbox Kullanımı

     MaskedTextbox'ı forma ekledikten sonra üstünde siyah bir üçgen oluşur. Bu siyah üçgen, diğer birçok toolda da olduğu gibi, tıklayınca bir ayar penceresi açılacağı anlamına gelir. Bu üçgene tıklayıp "Set Mask" seçeneğini seçtiğimizde önümüze mask ayarı yapabileceğimiz bir ekran gelir.

Set Mask - MaskedTextBox     Örneğin girilen değerin en fazla 5 haneli bir sayı olmasını istiyorsak "Numeric(5-digit)" seçeneğini seçebiliriz. Bunu seçtikten sonra projeyi çalıştırdığınızda bu alana yalnızca sayısal değerler girebildiğinizi göreceksiniz. Numerik dışında bir değer ya da 5 haneden fazla değer girmeye çalıştığınızda otomatik olarak engelleneceksiniz.

     Bir diğer işe yarar maske telefon numarası verisini alırken kullanabileceğimiz "Phone number" maskesi. Bu maske yine kullanıcının sayısal olmayan bir değer girmesine izin vermez. Bu şekilde tarih, saat gibi başka verileri de alırken kullanabileceğiniz maskeleri bu ekranda bulabilirsiniz. Peki yapmak istediğiniz kısıtlama buradaki standartlara uymuyorsa? O zaman da <Custom> seçeneğini kullanarak kendi maskenizi oluşturabilirsiniz.

     Örneğin almak istediğiniz veri decimal bir değer olsun. Yani 2 haneli bir sayı, ardından virgül ve virgülden sonra 3 hane olmasını istiyorsunuz. Yani alacağınız değer 26,648 gibi bir değer. Custom seçeneğini seçerek Mask alanına "00,000" yazmanız bu maskeleme için yeterli olacaktır.

YORUMLAR
A.usal
Nisan 20, 2019 12:19
Teşekkürler çok faydalı bilgiler..
Email Adresi *
Görüntülenecek İsim *
Yorum *
Paylaş
  • f