C#richTextBox间距问题?
我正在为我编写的聊天服务器程序编写一个客户端,该程序使用richTextBox控件来显示用户文本。除了我在服务器motd中使用的一些ASCII艺术外,其他一切都可以正常工作。运行它时,我的文本显示如下。正如你所看到的,间距似乎有问题。 现在,如果我用完全相同的字体在记事本上输入这个,我会得到这个。为什么richTextBox不显示相同的结果?我真的很困惑C#richTextBox间距问题?,c#,winforms,richtextbox,rtf,C#,Winforms,Richtextbox,Rtf,我正在为我编写的聊天服务器程序编写一个客户端,该程序使用richTextBox控件来显示用户文本。除了我在服务器motd中使用的一些ASCII艺术外,其他一切都可以正常工作。运行它时,我的文本显示如下。正如你所看到的,间距似乎有问题。 现在,如果我用完全相同的字体在记事本上输入这个,我会得到这个。为什么richTextBox不显示相同的结果?我真的很困惑 编辑:问题是由于服务器发送的RTF造成的。如何在RTF中添加额外的空间?问题显然在于字体,Notepad使用Monospace字体,而Ri
编辑:问题是由于服务器发送的RTF造成的。如何在RTF中添加额外的空间?问题显然在于字体,
Notepad
使用Monospace
字体,而RichTextBox似乎使用非Monospace
字体
因为对于单空格
字体,每个字符的宽度
是相等的,而对于非单空格
字体,字符
的宽度是不同的,因此出现了显示问题
另外,如果您已经有Monospace
字体,请按照下面的MD.Unicorn
回答。
我忘了注意到错误的
反斜杠
在将\
字符显示到RichTextBox之前,您需要对其进行转义。显然,问题源于使用ASCII艺术文本向RichTextBox
控件馈送的方式。通过检查这两幅图像,您可以看到RichTextBox
中缺少的字符是反斜杠,并且是反斜杠之后的字符。您似乎忘记了转义反斜杠字符。您可以共享文本吗?是否想使用控制台应用程序进行尝试。@user-您使用哪种字体进行RTF?@Yasser-其winform不是控制台应用程序它与您正在制作的应用程序无关,我想要的只是文本,这样我就可以重新创建问题并可能帮助您获得解决方案。我在第一张图像中没有看到任何反斜杠(\)。如何将文本发送到RichTextBox
?是的,反斜杠弄乱了RTF。一旦我用RTF转义序列取代它,它就像一个符咒。谢谢大家!@用户1454902接受这个答案而不是我的答案是完全不公平的。你同意AppDeveloper吗?