C# MaskedTextBox: Kullanıcı Girişini Kolaylaştırma ve Kontrol Etme
C# MaskedTextBox Nedir?
MaskedTextBox, kullanıcıların girdilerini belirli bir formata göre kısıtlamak ve doğrulamak için kullanılan bir Windows Forms denetimidir. Bu denetim, metin girişinin formatını kontrol etmek ve hatalı girişleri önlemek için maske adı verilen özel bir formatlama dizesi kullanır.
C# MaskedTextBox Özellikleri:
- Mask: Kullanıcıların girebileceği karakterleri ve bunların sırasını belirleyen formatlama dizesi.
- PromptChar: Kullanıcı maskeyi doldurana kadar görüntülenen karakter.
- BeepOnError: Hatalı girişlerde bip sesi çalınmasını sağlar.
- AllowPromptAsInput: Prompt karakterinin kullanıcı tarafından girilebilmesini sağlar.
- InsertKeyMode: Giriş modunu ekleme veya üzerine yazma olarak ayarlar.
- MaskCompleted: Maske tamamlandıktan sonra tetiklenen bir olay.
C# MaskedTextBox Kullanımı:
MaskedTextBox kullanımı oldukça basittir. Bir formda MaskedTextBox denetimini ekledikten sonra Mask özelliğini kullanarak formatlama dizesini belirlemeniz yeterlidir. Örneğin, bir telefon numarası maskesi için aşağıdaki formatlama dizesini kullanabilirsiniz:
(999) 000-0000
Bu maske, kullanıcıların yalnızca 10 basamaklı sayılar girmesine izin verir ve parantez, tire ve boşluk karakterlerini otomatik olarak ekler.
C# MaskedTextBox Nerelerde Kullanılır?
MaskedTextBox, kullanıcıların veri girişini kontrol etmenin gerekli olduğu her türlü uygulamada kullanılabilir. Yaygın kullanım alanları şunlardır:
- Formlar: Kişisel bilgiler, adresler, telefon numaraları gibi verilerin doğru şekilde girilmesini sağlamak için.
- Veri giriş uygulamaları: Müşteri siparişleri, anketler gibi veri giriş işlemlerini kolaylaştırmak ve hataları önlemek için.
- Finansal uygulamalar: Para birimi, hesap numarası gibi hassas verilerin doğru şekilde girilmesini sağlamak için.
C# MaskedTextBox Avantajları:
- Kullanıcıların veri girişini kolaylaştırır ve hataları önler.
- Verilerin tutarlı bir formatta girilmesini sağlar.
- Geliştirmeyi kolaylaştırır ve kodun karmaşıklığını azaltır.
- Kullanıcı arayüzünü daha profesyonel hale getirir.
C# MaskedTextBox Mask:
MaskedTextBox'ın Mask özelliği, kullanıcıların girebileceği karakterleri ve sırasını belirleyen formatlama dizesini tanımlar. Maskeler, farklı türde verileri doğrulamak ve formatlamak için kullanılabilir.
C# MaskedTextBox ile Tarih Formatı:
Tarih formatı için aşağıdaki maskeleri kullanabilirsiniz: dd/MM/yyyy: Gün/Ay/Yıl (örneğin: 15/02/2024) MM/dd/yyyy: Ay/Gün/Yıl (örneğin: 02/15/2024) yyyy-MM-dd: Yıl-Ay-Gün (örneğin: 2024-02-15)
C# MaskedTextBox ile Yalnızca Rakamlar:
Yalnızca rakam girişine izin vermek için "0" karakterini kullanabilirsiniz: 0000000000: 10 basamaklı sayı 00.00.0000: İki basamaklı sayı, iki basamaklı sayı ve dört basamaklı sayı
C# MaskedTextBox ile IP Adresi Maskesi:
IP adresi maskesi için aşağıdaki formatı kullanabilirsiniz: 000.000.000.000: Dört adet üç basamaklı sayı
C# MaskedTextBox ile Ondalık Sayılar:
Ondalık sayılar için aşağıdaki formatı kullanabilirsiniz: 0000.00: Dört basamaklı tam sayı ve iki basamaklı ondalık sayı
C# MaskedTextBox ile E-posta Maskesi:
*@*.**: Kullanıcı adı, "@" sembolü, alan adı ve uzantı
C# MaskedTextBox ile Daha Fazla Özelleştirme
Gördüğünüz gibi C# MaskedTextBox size birçok yetenek sunuyor. İsteklerinize göre daha fazla özelleştirme yaparak kullanıcı girişini iyileştirmeniz mümkün. İşte yeni alt başlıklarınız için bilgiler:
C# MaskedTextBox ile Prompt Karakterini Gizleme:
PromptChar özelliği maskelenin boş kısımlarında görüntülenen karakteri belirler. Bunu boş bir karakter atayarak gizleyebilirsiniz:
maskedTextBox.PromptChar = '\0';
C# MaskedTextBox ile Yalnızca Büyük Harf:
InputMask özelliğiyle kullanıcının girebileceği karakterleri filtreleyebilirsiniz. Büyük harf istiyorsanız L harfini kullanın:
maskedTextBox.Mask = "L000L000000";
C# MaskedTextBox ile Para Formatı:
MaskInputRejected olayını kullanarak girilen değeri kontrol edebilirsiniz. Bu olayda para birimi sembolü ve virgül gibi sembolleri ekleyebilirsiniz.
C# MaskedTextBox ile Telefon Numarası:
Telefon numarası için hazır maskeler kullanabilirsiniz. Örneğin:
maskedTextBox.Mask = "(999) 000-0000";
C# MaskedTextBox ile Boşluk Kontrolü:
MaskCompleted olayını kullanarak maskenin doldurulduktan sonra boş olup olmadığını kontrol edebilir ve uyarı verebilirsiniz.
C# MaskedTextBox ileTextChanged Olayı:
TextChanged olayı, maskede her bir değişiklik yapıldığında tetiklenir. Bu olayı kullanarak girilen değeri gerçek zamanlı olarak doğrulayabilir veya formatlayabilirsiniz.
C# MaskedTextBox ile Başlangıç Noktası:
Varsayılan olarak, bir MaskedTextBox'a tıklandığında imleç maskenin başında konumlanır. Ancak, bunu SelectionStart özelliğini kullanarak değiştirebilirsiniz. Örneğin, maskenin ortasından başlatmak için:
maskedTextBox.SelectionStart = maskedTextBox.Mask.Length / 2;
C# MaskedTextBox ile Maskeli Metin Dışı Metin Alınması:
MaskedTextBox, girilmiş metni her zaman maskelenin formatına göre döndürür. Ancak, maskeli olmayan metni almak için iki yöntem kullanabilirsiniz:
- Text özelliği: Bu özellik, maskelenin formatlanmış halini döndürür. Ancak, istediğiniz karakterleri ayıklayabilirsiniz. Örneğin, telefon numarası maskesi için:
- Custom Event Handling: MaskInputRejected veya TextChanged olaylarında, girilen karakterleri kontrol ederek maskeli olmayan kısmı kendiniz toplayabilirsiniz.
string cleanText = maskedTextBox.Text
.Replace("(", "").Replace(")", "").Replace("-", "");
Hiç yorum yok:
Yorum Gönder