Тільки цифри
Англійська мова - через (.)
Українська мова - через (,)
Цифри і одну точку
void PreviewTextInput(object sender, TextCompositionEventArgs e){
// Конвертуємо введену букву е в char
char ch = e.Text[0];
if ((Char.IsDigit(ch) || ch == '.'))
{
if (ch == '.' && textBox.Text.Contains('.')) // лише одна крапка
{
e.Handled = true; // не пускати
}
}
else
{
e.Handled = true; // не пускати
}
}
Цифри і одну точку + не більше 2 цифр після крапки
void PreviewTextInput(object sender, TextCompositionEventArgs e){
// Конвертуємо введену букву е в char
char ch = e.Text[0];
if ((Char.IsDigit(ch) || ch == '.'))
{
int a = TB2.Text.IndexOf('.');
if (ch == '.' && a != -1) // лише одна крапка
{
e.Handled = true; // не пускати
}
if (a != -1 && TB2.Text.Length == a+3) // до 2 цифр після коми
{
e.Handled = true; // не пускати
}
}
else
{
e.Handled = true; // не пускати
}
}
Лише цифри
void PreviewTextInput(object sender, TextCompositionEventArgs e){
char ch = e.Text[0];
if (!(Char.IsDigit(ch)))
{
e.Handled = true; // не пускати
}
}
Через регулярний вираз
using System.Text.RegularExpressions;
void PreviewTextInput(object sender, TextCompositionEventArgs e){
e.Handled = new Regex("[^0-9]+").IsMatch(e.Text);
}