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