zoukankan      html  css  js  c++  java
  • WPF TextBox 验证输入

    //验证输入为数字
    02 private void txt_time_KeyDown(object sender, KeyEventArgs e)
    03 {
    04     if (!((e.Key >= Key.D0 && e.Key <= Key.D9) || (e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9)))
    05     {
    06         e.Handled = true;
    07     }
    08 }
    09  
    10 //屏蔽粘贴非法字符
    11 private void txt_time_TextChanged(object sender, TextChangedEventArgs e)
    12 {
    13     var textBox = sender as TextBox;
    14     TextChange[] change = new TextChange[e.Changes.Count];
    15     e.Changes.CopyTo(change, 0);
    16  
    17     int offset = change[0].Offset;
    18     if (change[0].AddedLength > 0)
    19     {
    20         double num = 0;
    21         if (!Double.TryParse(textBox.Text, out num))
    22         {
    23             textBox.Text = textBox.Text.Remove(offset, change[0].AddedLength);
    24             textBox.Select(offset, 0);
    25         }
    26     }
    27 }
    01 //屏蔽非法按键
    02 private void txtAge_KeyDown(object sender, KeyEventArgs e)
    03 {
    04     TextBox txt = sender as TextBox;
    05  
    06     if ((e.Key >= Key.NumPad0 && e.Key <= Key.NumPad9) || e.Key == Key.Decimal)
    07     {
    08         if (txt.Text.Contains(".") && e.Key == Key.Decimal)
    09         {
    10             e.Handled = true;
    11             return;
    12         }
    13         e.Handled = false;
    14     }
    15     else if (((e.Key >= Key.D0 && e.Key <= Key.D9) || e.Key == Key.OemPeriod) && e.KeyboardDevice.Modifiers != ModifierKeys.Shift)
    16     {
    17         if (txt.Text.Contains(".") && e.Key == Key.OemPeriod)
    18         {
    19             e.Handled = true;
    20             return;
    21         }
    22         e.Handled = false;
    23     }
    24     else
    25     {
    26         e.Handled = true;
    27     }
    28 }
    29  
    30 //屏蔽中文输入和非法字符粘贴输入
    31 private void txtAge_TextChanged(object sender, TextChangedEventArgs e)
    32 {
    33     TextBox textBox = sender as TextBox;
    34     TextChange[] change = new TextChange[e.Changes.Count];
    35     e.Changes.CopyTo(change, 0);
    36  
    37     int offset = change[0].Offset;
    38     if (change[0].AddedLength > 0)
    39     {
    40         double num = 0;
    41         if (!Double.TryParse(textBox.Text, out num))
    42         {
    43             textBox.Text = textBox.Text.Remove(offset, change[0].AddedLength);
    44             textBox.Select(offset, 0);
    45         }
    46     }
    47 }
  • 相关阅读:
    [CLK Framework] CLK.Settings
    [Architecture Design] CLK Architecture
    记一次 bug 修复 , 未将对象引用实例化
    Invoke 与 BeginInvoke 应用场景
    一次发布生产版程序异常排查总结
    C# 使用 SmtpClient 发送邮件注意项
    MSSql Server 批量插入数据优化
    Window Server 布署 WCF 服务 , 权限配置问题
    C++ 值类型和引用类型传递示例
    VS2015 C#调用C++ 托管代码无法调试问题排查
  • 原文地址:https://www.cnblogs.com/luluping/p/2045870.html
Copyright © 2011-2022 走看看