C Textbox Harf Girişini Engelleme

C# TextBox’ta Harf Girişini Engelleme

Giriş

TextBox kontrolleri, kullanıcıların metin girmesine izin veren yaygın bir kullanıcı arayüzü öğesidir. Bazı durumlarda, yalnızca sayısal girişlere izin vermek ve harf girişini engellemek gerekebilir. Bu makale, C# kullanarak TextBox’ta harf girişini engellemenin çeşitli yollarını inceleyecektir.

1. KeyPress Olayını Kullanma

KeyPress olayı, bir tuşa basıldığında tetiklenir. Bu olayı, harf tuşlarına basıldığında girişin engellenmesi için kullanabiliriz. Aşağıdaki kod örneği, KeyPress olayını kullanarak harf girişini engeller:

c#
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// Harf tuşlarına basıldığında girişin engellenmesi
if (char.IsLetter(e.KeyChar))
{
e.Handled = true;
}
}

2. InputScope Özelliğini Kullanma

InputScope özelliği, bir TextBox’ın kabul edebileceği giriş türünü belirler. Harf girişini engellemek için InputScope.Number özelliğini kullanabiliriz. Aşağıdaki kod örneği, InputScope özelliğini kullanarak harf girişini engeller:

c#
textBox1.InputScope = new InputScope()
{
// Yalnızca sayısal girişlere izin ver
InputScopeNameValue = InputScopeNameValue.Number
};

3. MaskedTextBox Kontrolünü Kullanma

MaskedTextBox kontrolü, kullanıcı girişini belirli bir formata göre kısıtlamak için tasarlanmıştır. Harf girişini engellemek için MaskedTextBox kontrolünün Mask özelliğini kullanabiliriz. Aşağıdaki kod örneği, MaskedTextBox kontrolünü kullanarak harf girişini engeller:

c#
maskedTextBox1.Mask = "0000000000";

4. Özel Bir Sınıf Oluşturma

Özel bir sınıf oluşturarak ve bu sınıfı TextBox’ın BaseType özelliğine atayarak harf girişini engelleyebiliriz. Özel sınıf, KeyPress olayını geçersiz kılabilir ve harf tuşlarına basıldığında girişin engellenmesi için kod içerebilir. Aşağıdaki kod örneği, harf girişini engellemek için özel bir sınıf oluşturur:

“`c#
public class NumberOnlyTextBox : TextBox
{
public NumberOnlyTextBox()
{
// KeyPress olayını geçersiz kıl
this.KeyPress += new KeyPressEventHandler(NumberOnlyTextBox_KeyPress);
}

private void NumberOnlyTextBox_KeyPress(object sender, KeyPressEventArgs e)
{
    // Harf tuşlarına basıldığında girişin engellenmesi
    if (char.IsLetter(e.KeyChar))
    {
        e.Handled = true;
    }
}

}
“`

5. Üçüncü Taraf Kütüphaneleri Kullanma

Harf girişini engellemek için çeşitli üçüncü taraf kütüphaneler de mevcuttur. Bu kütüphaneler, yukarıda açıklanan yöntemlere ek özellikler ve işlevler sağlayabilir. Örneğin, InputValidation kütüphanesi, TextBox’larda harf girişini engellemek için özel bir doğrulama özelliği sağlar.

Faydalı Kaynaklar


Yayımlandı