如何只允许减号(-)作为第一个符号?
How to allow minus sign (-) only as the first symbol?
我创建了一个 WPF,里面有一个 TextBox。我只允许用户输入数字、退格键和减号。我想让用户只在所有其余数字之前的第一个位置写减号。
我试过以下代码:
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;
}
}
但它只允许用户在开头写减号,而当用户想编辑文本框的第一个符号时则不允许。
有更好的解决方案吗?
这可能有帮助:TextBox.SelectStart and TextBox.SelectLength
这会告诉您插入符在文本框中的位置。您可以使用它来检查您是否位于文本框的开头
我创建了一个 WPF,里面有一个 TextBox。我只允许用户输入数字、退格键和减号。我想让用户只在所有其余数字之前的第一个位置写减号。 我试过以下代码:
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;
}
}
但它只允许用户在开头写减号,而当用户想编辑文本框的第一个符号时则不允许。
有更好的解决方案吗?
这可能有帮助:TextBox.SelectStart and TextBox.SelectLength
这会告诉您插入符在文本框中的位置。您可以使用它来检查您是否位于文本框的开头