我正在为我编写的聊天服务器程序编写客户端,该程序使用richTextBox 控件来显示用户文本。除了我用于我的服务器 motd 的一些 ASCII 艺术外,一切正常。运行它时,我的文本显示如下。如您所见,间距似乎有问题。
现在,如果我使用完全相同的字体在记事本中输入它,我就会得到这个。为什么richTextBox 不显示相同的结果?我在这里真的很困惑......
编辑:问题是由于服务器发送的 RTF。如何在 RTF 中添加额外的空间?
我正在为我编写的聊天服务器程序编写客户端,该程序使用richTextBox 控件来显示用户文本。除了我用于我的服务器 motd 的一些 ASCII 艺术外,一切正常。运行它时,我的文本显示如下。如您所见,间距似乎有问题。
现在,如果我使用完全相同的字体在记事本中输入它,我就会得到这个。为什么richTextBox 不显示相同的结果?我在这里真的很困惑......
编辑:问题是由于服务器发送的 RTF。如何在 RTF 中添加额外的空间?
问题显然是字体,Notepad
使用Monospace
字体,而 RichTextBox 似乎正在使用Non-Monospace
字体。
由于Monospace
字体的宽度character
相等,而Non-Monospace
宽度character
不同,因此显示问题。
在将字符附加到 RichTextBox 之前,我忘了注意到backslash
您需要转义字符。\
显然,问题源于您RichTextBox
使用 ASCII 艺术文本提供控件的方式。通过检查这两个图像,您可以看到其中缺少的字符RichTextBox
是反斜杠和反斜杠后面的字符。您似乎忘记转义反斜杠字符。