可以';t删除文本框c#中的和
本文关键字:文本 删除 可以 | 更新日期: 2023-09-27 17:59:31
我在c#中使用一个文本框,并使用按下回车键的按键事件,当窗口聚焦在该文本框上时执行按钮点击操作
我注意到,当我第一次表演"进入"时,活动进行得很顺利。当我回到上一页时,我再次执行相同的操作。我看到文本框已经''r''n,甚至我已经像一样重置了文本框
textbox.Text = "";
//OR
textbox.Clear();
但不知何故,当我调试时,''r''n和仍然存在于文本框中。
我是否做错了什么或采取了任何措施来阻止这种情况的发生?
您可以在文本框按键事件中使用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
字符(不要把它们当作一个序列),然后用你需要的任何东西替换它们。