C# 如何允许减号(-)仅作为第一个符号?
我创建了一个WPF,里面有一个文本框。我只允许用户输入数字、退格和减号。我想允许用户只在第一个位置写减号,在所有其他数字之前。 我尝试了以下代码:C# 如何允许减号(-)仅作为第一个符号?,c#,wpf,validation,textbox,C#,Wpf,Validation,Textbox,我创建了一个WPF,里面有一个文本框。我只允许用户输入数字、退格和减号。我想允许用户只在第一个位置写减号,在所有其他数字之前。 我尝试了以下代码: private void textBox_KeyPress(object sender, KeyPressEventArgs e) { if (!(Char.IsDigit(e.KeyChar) || (e.KeyChar == 8) || ((e.KeyChar == 45) && (textBox.Text.Length
private void textBox_KeyPress(object sender, KeyPressEventArgs e)
{
if (!(Char.IsDigit(e.KeyChar) || (e.KeyChar == 8) || ((e.KeyChar == 45) && (textBox.Text.Length == 0))))
{
e.Handled = true;
}
}
但它只允许用户在开始时写减号,而不允许用户在编辑文本框的第一个符号时写减号
有更好的解决方案吗?这可能会有帮助:以及
这将告诉您插入符号在文本框中的位置。您可以使用它检查您是否位于文本框的开头