C# TextBox Yazı Yazılmasını Engelleme
Bir C# uygulamasında, kullanıcıların belirli bir TextBox kontrolüne yazı yazmasını engellemek isteyebileceğiniz durumlar olabilir. Bu, veri girişini doğrulamak, hassas bilgileri korumak veya kullanıcı arayüzünün belirli bölümlerini devre dışı bırakmak için gerekli olabilir.
TextBox’a yazı yazılmasını engellemek için kullanılabilecek birkaç yöntem vardır:
1. ReadOnly Özelliğini Kullanma
ReadOnly özelliği, TextBox’ın düzenlenebilir olup olmadığını belirler. Bu özelliği true
olarak ayarlarsanız, kullanıcılar TextBox’a yazı yazamaz.
csharp
textBox1.ReadOnly = true;
2. Enabled Özelliğini Kullanma
Enabled özelliği, TextBox’ın etkin olup olmadığını belirler. Bu özelliği false
olarak ayarlarsanız, TextBox devre dışı bırakılır ve kullanıcılar onunla etkileşime giremez.
csharp
textBox1.Enabled = false;
3. Olay İşleyicileri Kullanma
TextBox’a yazı yazılmasını engellemek için olay işleyicilerini de kullanabilirsiniz. Örneğin, TextChanged
olayını kullanarak, kullanıcı TextBox’a yazı yazdığında bir olay işleyicisi tetikleyebilirsiniz. Bu olay işleyicisinde, TextBox’ın metnini boş bir dizeye sıfırlayabilirsiniz.
csharp
private void textBox1_TextChanged(object sender, EventArgs e)
{
textBox1.Text = "";
}
4. Özel Bir TextBox Sınıfı Oluşturma
Kendi özel TextBox sınıfınızı oluşturarak, yazı yazılmasını engellemek için özel mantık uygulayabilirsiniz. Bu, daha karmaşık senaryolar için yararlı olabilir.
csharp
public class ReadOnlyTextBox : TextBox
{
protected override void OnTextChanged(EventArgs e)
{
// Yazı yazılmasını engelle
base.OnTextChanged(e);
this.Text = "";
}
}