TextBox和.AppendText()中的行奇数行为 - C#

时间:2010-10-20 15:49:25

标签: c# .net networking tcp

我目前正在关注Geekpedia的精彩教程,以创建我自己的Chat ClientChat Server

将客户端连接到服务器工作正常,但我在聊天记录中显示的文本遇到了一些问题。

显示的第一条消息位于“服务器”窗口中,然后监视传入连接:

Image 1

然后我将客户端连接到主机,一切正常,并显示相应的日志消息:

Image 2

现在,当我发送一条简单的消息时,Line.Length属性显示3,特别注意文本:

Image 3

此外,.Text属性包含所有内容,而不仅仅是当前行:

alt text

现在看一下服务器和客户端窗口,您会注意到文本中有一些如何将自己复制到错误的位置并覆盖以前的消息:

Image 4

如果我再次按下发送按钮(使用相同的字符串/消息),我会在调试器中注意到这一点:

Image 5

“服务器”窗口中的文本不会进一步向下移动,它似乎会覆盖以前的内容。客户端窗口中的文本也已消失:

Image 6

因此,如果我再次按下发送文本按钮,我们会看到Line属性:

Image 7

我完全失去了,我花了好几个小时来调试代码,甚至在使用diff工具比较原始代码后我也一样(除了不同情况下的某些单词)。< / p>

如果我运行原始源代码并检查相同的Length属性,我会注意到count为1,而.Text属性只有一行:

Image 8

一切都正确显示:

Image 9

有人知道发生了什么吗?现在我知道一个选项就是简单地使用源代码本身,但我想“边做边学”,并想知道为什么会发生这种情况以及如何解决它。

谢谢你的时间!

1 个答案:

答案 0 :(得分:1)

我只是在黑暗中拍摄,但修改过的代码中的SendMessage方法使用chatWindow控件中的文本。原始代码中的SendMessage使用txtMessage中的文本。我认为你正在使用来自错误控件的文本。