1

我无法使用以下代码删除文本框数据

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {            
        if(char.IsDigit(e.KeyChar)==false)
        {
            count++;
       }
        if (count == 1)
        {
            textBox1.Text = ("");
            count = 0;
        }
   }

尝试使用clear方法以及我输入的字母留在文本框中,当我键入任何键时,它会被覆盖,但我希望文本框第二次为空并删除上一个数据

4

4 回答 4

3

你只需要说你已经处理了这个事件:

    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (char.IsDigit(e.KeyChar) == false)
        {
            count++;
        }
        if (count == 1)
        {
            textBox1.Text = ("");
            count = 0;
            e.Handled = true; // this bit fixes it
        }
    }
于 2013-06-04T12:57:43.030 回答
0

使用textBox1.Text = "";textBox1.clear();

这将清除您的文本框。

于 2013-06-04T12:53:21.967 回答
0

你这样做是不对的。您可以使用 Ctrl+V 粘贴一堆字母。删除 KeyDown 事件并创建一个 TextChanged 事件。此代码应该完成您正在尝试的内容。请告诉我是否有更多详细信息,我将添加到我的答案中。

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        foreach (char c in textBox1.Text)
        if (!char.IsDigit(c)) { textBox1.Clear(); break; }
    }
于 2013-06-04T13:09:28.260 回答
0

将此添加到您的文本框按键事件中,您的问题将得到解决

e.handle = true;
于 2014-06-20T15:23:03.677 回答