wpf 我怎样才能使它,只有数字可以输入在文本框中,第一个不是0?

6gpjuf90  于 2023-06-24  发布在  其他
关注(0)|答案(1)|浏览(136)

我需要使它,以便只有数字可以输入到文本框,以便第一个不是0。我有一个代码,这样你就可以只输入数字,也许它可以改进,使第一个数字不是0。

private void textbox_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            if (!Char.IsDigit(e.Text, 0))
            {
                e.Handled = true;
            }
        }

我也有一个代码,所以只有一个','可以输入,但我不知道如何重做为0。

if (!(Char.IsDigit(e.Text, 0) || (e.Text == ",") && (!TB1.Text.Contains(".") && TB1.Text.Length!=0))){
   e.Handled = true;
}
if ((e.Text == ",") && ((sender as TextBox).Text.IndexOf(',') > -1))
{
   e.Handled = true;
}
jhdbpxl9

jhdbpxl91#

您可以编写新字符串,然后查询它是否以零开头

TextBox textBox = (TextBox)sender;
int caretIndex = textBox.CaretIndex;
string newText = textBox.Text.Substring(0, caretIndex) + e.Text + textBox.Text.Substring(caretIndex);
if (newText.StartsWith("0")) 
{
    e.Handled = true;
}

相关问题