gpt4 book ai didi

c# - 如何在 WPF 中创建一个只接受数字和一个只接受字母的文本框?

转载 作者:行者123 更新时间:2023-11-30 12:11:05 25 4
gpt4 key购买 nike

我只想知道如何创建一个只允许用户键入数字的文本框,一个允许数字和句号,一个只允许用户键入字母的文本框?

我将此代码用于 Windows 窗体:

private void YearText_KeyPress(object sender, KeyPressEventArgs e) //Textbox only accepts numbers
{
char ch = e.KeyChar;
if (!Char.IsDigit(ch) && ch != 8 && ch != 13)
{
e.Handled = true;
}
}

private void NameText_KeyPress(object sender, KeyPressEventArgs e) //Textbox only accepts letters
{
if (!char.IsLetter(e.KeyChar) && !char.IsControl(e.KeyChar) && !char.IsWhiteSpace(e.KeyChar))
e.Handled = true;
}

private void ResellPriceText_KeyPress(object sender, KeyPressEventArgs e) //Textbox that allows only numbers and fullstops
{
if (!char.IsControl(e.KeyChar)
&& !char.IsDigit(e.KeyChar)
&& e.KeyChar != '.')
{
e.Handled = true;
}

// only allow one decimal point
if (e.KeyChar == '.'
&& (sender as TextBox).Text.IndexOf('.') > -1)
{
e.Handled = true;
}
}

但我很快发现这不能用 WPF 完成。我对诸如粘贴字母/数字的能力并不在意。

最佳答案

这可以在 WPF 中完成,事实上,您甚至可以使用非常相似的基于事件处理程序的代码来完成它,但是,不要这样做 - 这是一种糟糕的用户体验。这将防止用户在不小心包含周围空格时进行复制和粘贴,并防止输入科学数字,例如100e3.

改为使用验证(在修剪后的输入上)并在验证失败时阻止用户继续操作。

关于c# - 如何在 WPF 中创建一个只接受数字和一个只接受字母的文本框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16203411/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com