程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了TextBox 只允许输入一定范围的数字,但它不接受一些正确的值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决TextBox 只允许输入一定范围的数字,但它不接受一些正确的值?

开发过程中遇到TextBox 只允许输入一定范围的数字,但它不接受一些正确的值的问题如何解决?下面主要结合日常开发的经验,给出你关于TextBox 只允许输入一定范围的数字,但它不接受一些正确的值的解决方法建议,希望对你解决TextBox 只允许输入一定范围的数字,但它不接受一些正确的值有所启发或帮助;

晚上好,

试图让 WPF 文本框只接受 3 到 2813 之间的双值

在下面的代码中,我不能写任何以 1 或 2 开头的值

喜欢 11,22,113,215,2008

private bool IsValID(@R_696_10495@ng str)
{
    double i;
    return double.TryParse(str,out i) && i >= 3 && i <= 2813;
}

private voID L_Text_PrevIEwTexTinput(object sender,TextCompositionEventArgs E)
{
    e.Handled = !IsValID(((TextBoX)sender).Text + e.Text);
}

解决方法

PreviewTexTinput 在用户按下某个键时发生。所以此时我们无法知道用户是打算写“2”还是“22”。 要评估该值,我们必须确保用户已完成写入。为此,您可以使用 LostFocus 事件。

private bool IsValid(@R_696_10495@ng str)
{
    double i;         
    return double.TryParse(str,out i) && i >= 3 && i <= 2813;
}
private void TextBox_LostFocus(object sender,RoutedEventArgs E)
{
    var txt = sender as TextBox;
    if (!IsValid((txt.Text)))
    {
        //invalid delete text
        txt.Text = "";
    }
} 

详细验证:https://stackoverflow.com/a/37255232/1431001

,

你可以做两件事

  1. 您可以评估它是否以特定字符开头,然后对其进行解析
  2. 您可以使用 https://Help.syncfusion.com/wpf/double-textbox/getTing-started

大佬总结

以上是大佬教程为你收集整理的TextBox 只允许输入一定范围的数字,但它不接受一些正确的值全部内容,希望文章能够帮你解决TextBox 只允许输入一定范围的数字,但它不接受一些正确的值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。