相关疑难解决方法(0)

正则表达式仅限数字

我根本没有使用正则表达式,所以我很难排除故障.我希望正则表达式只在包含的字符串是所有数字时匹配; 但是下面的两个例子是匹配一个包含所有数字的字符串加上一个等号"1234 = 4321".我确信有一种方法可以改变这种行为,但正如我所说,我从未真正对正则表达式做过多少工作.

string compare = "1234=4321";
Regex regex = new Regex(@"[\d]");

if (regex.IsMatch(compare))
{ 
    //true
}

regex = new Regex("[0-9]");

if (regex.IsMatch(compare))
{ 
    //true
}
Run Code Online (Sandbox Code Playgroud)

如果重要,我正在使用C#和.NET2.0.

c# regex

288
推荐指数
14
解决办法
73万
查看次数

创建仅接受数字的WPF TextBox

我想创建一个只接受特定范围内的数值的TextBox.实现此类TextBox的最佳方法是什么?

我想到了派生TextBox并覆盖TextProperty的验证和强制.但是,我不知道如何做到这一点,我知道通常不建议派生WPF控件.


编辑:
我需要的是一个非常基本的文本框,过滤掉所有不是数字的按键.实现它的最简单方法是处理TextBox.PreviewTextInput事件:

private void textBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
{
    int result;
    if (!validateStringAsNumber(e.Text,out result,false))
    {
        e.Handled = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

(validateStringAsNumber是我主要使用Int.TryParse的函数)

一些建议的解决方案可能更好,但对于我需要的简单功能,这个解决方案是最容易和最快的,同时足以满足我的需求.

c# wpf textbox

20
推荐指数
2
解决办法
7万
查看次数

标签 统计

c# ×2

regex ×1

textbox ×1

wpf ×1