Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
.net 调用ShowDialog()后,Clear()或simple上的Windows.Forms.TextBox出现意外行为,设置为string.Empty_.net_Textbox_Corruption - Fatal编程技术网

.net 调用ShowDialog()后,Clear()或simple上的Windows.Forms.TextBox出现意外行为,设置为string.Empty

.net 调用ShowDialog()后,Clear()或simple上的Windows.Forms.TextBox出现意外行为,设置为string.Empty,.net,textbox,corruption,.net,Textbox,Corruption,在带有普通文本框的表单中,multiline==false,会出现预期的结果 将文本属性设置为“”或string.Empty或调用Clear()时。然而有一次 已对窗体调用ShowDialog(),将发生下面概述的行为。还要注意,奇怪的效果是相当直接的。如果定义并使用了加载事件处理程序,那么一旦调用它(响应正在调用的ShowDialog()),下面所示的无法解释的行为就是真的 textBox.Text = "fillWithSomething"; 调试器显示文本为:“fillWithSomet

在带有普通文本框的表单中,
multiline==false
,会出现预期的结果 将文本属性设置为“”或string.Empty或调用Clear()时。然而有一次 已对窗体调用ShowDialog(),将发生下面概述的行为。还要注意,奇怪的效果是相当直接的。如果定义并使用了加载事件处理程序,那么一旦调用它(响应正在调用的ShowDialog()),下面所示的无法解释的行为就是真的

textBox.Text = "fillWithSomething";
调试器显示文本为:“fillWithSomething”

调试器将文本显示为:两个无法打印的字符,textBox.Text.Length==2

textBox.Text = "fillWithNew";
调试器显示文本为:“fillWithNew”

调试器再次将文本显示为两个长度==2的不可打印字符

textBox.Text = "fillWithNew";
这是大型客户机应用程序的一部分。我做了一个简单的测试 (3.5和4.NETFramework)和相同的行为

任何关于什么可能会腐蚀什么的建议都应该是一个真正的问题
正前方手术?我在别处找不到这类问题的参考。

我只是在表单上掉了一个文本框,我没有看到您看到的行为。
=”
.Clear()
都将其设置为长度为0的空字符串。一定有别的东西干扰了

我可能错了,但是
.Length
不是文本框的属性。你确定这不是一个扩展方法还是什么?把textBox.Text.tocharray()放到调试器表达式中,告诉我们你看到了什么。我的意思是textBox.Text.Length(打字错误)。使用ToCharray()时,生成的数组包含两个字符,值分别为charArray[0]==0xA808和charArray[1]==0x532I,结果相同。。。。我希望上面的失败模式对某些人来说可能很熟悉。奇怪的是,一个非空白、非空字符串的背对背赋值似乎可以正常工作。
textBox.Clear();