在下面测试数据中再加一个0

时间:2022-04-13 03:41:24

< TextBox Height="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<‘0‘ c="">‘9‘)//最好的要领,不才面测试数据中再加一个0,,然后这种要领效率会搞10毫秒摆布

                    return false;

            }

            return true;

        }