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
- TextBox.ReadOnly Özelliği
- TextBox.Enabled Özelliği
- TextBox.Multiline Özelliği
- TextBox.MaxLength Özelliği
- TextBox.KeyPress Olayı
- TextBox.Validating Olayı