WPF文本框只允许输入数字
2021-02-11 00:16
标签:左右 idt == type tao height put position present XAML代码 WPF文本框只允许输入数字 标签:左右 idt == type tao height put position present 原文地址:https://www.cnblogs.com/kid526940065/p/8515896.html"23" HorizontalAlignment="Left" Margin="100,5,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" DataObject.Pasting="textBox1_Pasting" PreviewKeyDown="textBox1_PreviewKeyDown" InputMethod.IsInputMethodEnabled="False" PreviewTextInput="textBox1_PreviewTextInput"/ > cs代码 //检测粘贴 private void textBox1_Pasting(object sender, DataObjectPastingEventArgs e)
{
if (e.DataObject.GetDataPresent(typeof(String)))
{
String text = (String)e.DataObject.GetData(typeof(String));
if (!isNumberic(text))
{ e.CancelCommand(); }
}
else { e.CancelCommand(); }
}
private void textBox1_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Space)
e.Handled = true;
}
private void textBox1_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
if (!isNumberic(e.Text))
{
e.Handled = true;
}
else
e.Handled = false;
}
//isDigit是否是数字
public static bool isNumberic(string _string)
{
if (string.IsNullOrEmpty(_string))
return false;
foreach (char c in _string)
{
if (!char.IsDigit(c))
//if(c‘9‘)//最好的方法,在下面测试数据中再加一个0,然后这种方法效率会搞10毫秒左右
return false;
}
return true;
}
上一篇:WPF控件截图
下一篇:salt-api安装配置及使用