我使用下面的代码不允许文本框中除数字之外的任何字符......但它允许'.'特点!我不希望它允许点。

    private void txtJustNumber_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (!char.IsDigit((char)(e.KeyChar)) &&
            e.KeyChar != ((char)(Keys.Enter)) &&
            e.KeyChar != (char)(Keys.Delete) &&
            e.KeyChar != (char)(Keys.Back)&&
            e.KeyChar !=(char)(Keys.OemPeriod))
        {
            e.Handled = true;
        }
    }

最佳答案

用这个:

    if (!char.IsDigit((char)(e.KeyChar)) &&
            e.KeyChar != ((char)(Keys.Enter)) &&
            (e.KeyChar != (char)(Keys.Delete) || e.KeyChar == Char.Parse(".")) &&
            e.KeyChar != (char)(Keys.Back)
            )

这是因为 Keys.Delete 的 char 值是 46,与 '.' 相同。我不知道它为什么喜欢这个。

关于c# - 无法确定文本框 KeyPress 事件的 '.' keychar,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13075017/

10-14 16:47