【问题标题】:How to allow minus sign (-) only as the first symbol?如何只允许减号 (-) 作为第一个符号?
【发布时间】:2021-05-07 12:21:37
【问题描述】:

我创建了一个 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;
    }
}

但它只允许用户在开头写减号,但不能在用户想要编辑文本框的第一个符号时。

有没有更好的解决方案?

【问题讨论】:

    标签: c# wpf validation textbox


    【解决方案1】:

    这可能会有所帮助:TextBox.SelectStart 和 TextBox.SelectLength

    这将告诉您插入符号在文本框中的位置。您可以使用它来检查您是否在文本框的开头

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      相关资源
      最近更新 更多