Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法清除文本框数据_C#_Wpf_Textbox - Fatal编程技术网

C# 无法清除文本框数据

C# 无法清除文本框数据,c#,wpf,textbox,C#,Wpf,Textbox,我无法用下面的代码删除文本框数据 private void textBox1_KeyPress(object sender, KeyPressEventArgs e) { if(char.IsDigit(e.KeyChar)==false) { count++; } if (count == 1) { textBox1.Text = (""

我无法用下面的代码删除文本框数据

private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {            
        if(char.IsDigit(e.KeyChar)==false)
        {
            count++;
       }
        if (count == 1)
        {
            textBox1.Text = ("");
            count = 0;
        }
   }
尝试使用
clear
方法,并且我输入的字母保留在文本框中,当我键入任何键时,它会被覆盖,但我希望文本框第二次为空,并删除上一个数据

使用
textBox1.Text=”“
文本框1.clear()


这将清除您的文本框。

您只需说您已处理该事件:

    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
        }
    }

你做错了。您只需使用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; }
    }

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

e.handle = true;

我真的很惊讶,因为即使我认为它会工作,但每次都会失败。我们可以执行屏幕共享吗?因为我有一个g+帐户,可以显示它不工作。通过上述步骤解决了问题。你能告诉我编译器在e.handled行PLZ上做了什么吗?基本上,你在按键事件期间清除了文本框,当事件完成时,将写入新字符。如果说您处理了事件,则忽略了按键(因此忽略了新键入的字符),这仍然不起作用,因为您可以复制并粘贴一堆字母。我建议您使用我的方法,而不是使用TextChanged事件。使用e.Handled仍然很酷,可以在其他方面派上用场。