可以';t删除文本框c#中的和

本文关键字:文本 删除 可以 | 更新日期: 2023-09-27 17:59:31

我在c#中使用一个文本框,并使用按下回车键的按键事件,当窗口聚焦在该文本框上时执行按钮点击操作

我注意到,当我第一次表演"进入"时,活动进行得很顺利。当我回到上一页时,我再次执行相同的操作。我看到文本框已经''r''n,甚至我已经像一样重置了文本框

  textbox.Text = "";
  //OR
  textbox.Clear();

但不知何故,当我调试时,''r''n和仍然存在于文本框中。

我是否做错了什么或采取了任何措施来阻止这种情况的发生?

可以';t删除文本框c#中的和

您可以在文本框按键事件中使用e.handled = true,这将首先停止将文本添加到文本框中。只是猜测一下,但你能在textbox.Clear();上设置一个断点吗?我认为在你调用clear并随后更新时,文本框可能是空的?也许将清除移到KeyUp事件?

您需要在您的问题中提供更多的代码,但我相信发生的事情是,您在Form_Load中设置了.Clear(),它只执行一次,然后当您第二次返回表单时,它已经创建(在内存中),所发生的就是再次显示它。使用调试器确保.Clear()位于正确的位置并且始终被调用。

在Form Show事件中执行Clear()操作可能适合您的情况。

public Form1()
{
    InitializeComponent();
    Shown += Form1_Shown;
}
private void Form1_Shown(object sender, EventArgs e) 
{
    textbox1.Clear();
} 

也许可以尝试:

textbox.Text.Replace("'r", "");
textbox.Text.Replace("'n", "");

我只是建议另一种方法。自Windows10以来,新的行序列一直被用一种奇怪的非规范方法处理。你可以通过在firefox中打开一些.txt文件,然后在记事本中打开来证明这一点。有时断线位置会有显著差异。我最近处理过这个问题,我的方法正是我提出的:删除所有'r字符和'n字符(不要把它们当作一个序列),然后用你需要的任何东西替换它们。