C Textbox Metin Girişi Engelleme

C TextBox Metin Girişini Engelleme

Giriş

C# programlama dilinde, TextBox kontrolü kullanıcıların metin girmesine izin veren bir kullanıcı arayüzü öğesidir. Ancak, belirli durumlarda, metin girişini engellemek gerekebilir. Bu makale, C# TextBox kontrolünde metin girişini engellemenin çeşitli yollarını inceleyecektir.

ReadOnly Özelliği

Metin girişini engellemenin en basit yolu, TextBox kontrolünün ReadOnly özelliğini true olarak ayarlamaktır. Bu özellik ayarlandığında, kullanıcılar TextBox’a metin giremez veya mevcut metni düzenleyemez.

csharp
textBox1.ReadOnly = true;

Enabled Özelliği

Enabled özelliği, TextBox kontrolünün etkin olup olmadığını belirler. Etkin olmayan bir TextBox, kullanıcı etkileşimine izin vermez, bu nedenle metin girişi de engellenir.

csharp
textBox1.Enabled = false;

Multiline Özelliği

Multiline özelliği, TextBox’ın çok satırlı metin girip girmeyeceğini belirler. Çok satırlı metin girişi etkinleştirildiğinde, kullanıcılar metin satırları ekleyebilir ve silebilir. Metin girişini engellemek için bu özelliği false olarak ayarlayın.

csharp
textBox1.Multiline = false;

MaxLength Özelliği

MaxLength özelliği, TextBox’a girilebilecek maksimum karakter sayısını belirler. Bu özellik, kullanıcıların belirli bir uzunluktan daha fazla metin girmesini engellemek için kullanılabilir.

csharp
textBox1.MaxLength = 10;

KeyPress Olayı

KeyPress olayı, bir tuşa basıldığında tetiklenir. Bu olayı kullanarak, belirli tuşlara basıldığında metin girişini engelleyebilirsiniz. Örneğin, aşağıdaki kod, kullanıcıların TextBox’a sayısal olmayan karakterler girmesini engeller:

csharp
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
}

Custom Validation

Özel doğrulama, TextBox’a girilen metnin belirli kurallara uyup uymadığını kontrol etmenizi sağlar. Bu kurallar, metin uzunluğu, karakter türleri veya özel ifadeler gibi çeşitli kısıtlamaları içerebilir. Metin girişini engellemek için, özel doğrulama kullanarak geçersiz metin girişi girişimlerini reddedebilirsiniz.

csharp
private void textBox1_Validating(object sender, CancelEventArgs e)
{
if (string.IsNullOrEmpty(textBox1.Text))
{
e.Cancel = true;
errorProvider1.SetError(textBox1, "Metin kutusu boş olamaz.");
}
}

Faydalı Kaynaklar


Yayımlandı