Kod:
using System;
using System.Linq;
using System.Windows.Forms;
namespace HarfSayiOzelKarakterTextBox
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// TextBox'a KeyPress etkinliği ekleniyor
textBox1.KeyPress += TextBox1_KeyPress;
}
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
// Sadece harfler, sayılar ve belirli özel karakterleri kabul etmek için kontrol
if (!char.IsLetterOrDigit(e.KeyChar) && !IsAllowedSpecialCharacter(e.KeyChar) && !char.IsControl(e.KeyChar))
{
e.Handled = true; // Geçersiz karakteri engelle
}
}
private bool IsAllowedSpecialCharacter(char character)
{
// İzin verilen özel karakterleri belirleyin
char[] allowedSpecialCharacters = { '@', '#', '$', '%' }; // Örneğin: '@', '#', '$', '%' gibi özel karakterlere izin verilmiştir.
// Belirli bir özel karakter izin verilenler listesinde mi kontrol et
return allowedSpecialCharacters.Contains(character);
}
}
}
Bu örnekte, TextBox1_KeyPress metodunda KeyPress etkinliği kullanılarak, girilen her karakter için bir kontrol yapılır. IsLetterOrDigit metodu ile karakterin harf veya sayı olup olmadığı kontrol edilir. IsAllowedSpecialCharacter metodu ile ise özel karakterin izin verilen özel karakterler listesinde olup olmadığı kontrol edilir. Eğer karakter uygun değilse, e.Handled = true; ifadesi ile karakterin işlenmiş olduğunu ve görüntülenmeyeceğini belirtiyoruz. Bu şekilde, TextBox kontrolü sadece belirli türde karakterleri kabul eder.