Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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
C#richTextBox间距问题?_C#_Winforms_Richtextbox_Rtf - Fatal编程技术网

C#richTextBox间距问题?

C#richTextBox间距问题?,c#,winforms,richtextbox,rtf,C#,Winforms,Richtextbox,Rtf,我正在为我编写的聊天服务器程序编写一个客户端,该程序使用richTextBox控件来显示用户文本。除了我在服务器motd中使用的一些ASCII艺术外,其他一切都可以正常工作。运行它时,我的文本显示如下。正如你所看到的,间距似乎有问题。 现在,如果我用完全相同的字体在记事本上输入这个,我会得到这个。为什么richTextBox不显示相同的结果?我真的很困惑 编辑:问题是由于服务器发送的RTF造成的。如何在RTF中添加额外的空间?问题显然在于字体,Notepad使用Monospace字体,而Ri

我正在为我编写的聊天服务器程序编写一个客户端,该程序使用richTextBox控件来显示用户文本。除了我在服务器motd中使用的一些ASCII艺术外,其他一切都可以正常工作。运行它时,我的文本显示如下。正如你所看到的,间距似乎有问题。

现在,如果我用完全相同的字体在记事本上输入这个,我会得到这个。为什么richTextBox不显示相同的结果?我真的很困惑


编辑:问题是由于服务器发送的RTF造成的。如何在RTF中添加额外的空间?

问题显然在于字体,
Notepad
使用
Monospace
字体,而RichTextBox似乎使用
非Monospace
字体

因为对于
单空格
字体,每个
字符的宽度
是相等的,而对于
非单空格
字体,
字符
的宽度是不同的,因此出现了显示问题

另外,如果您已经有
Monospace
字体,请按照下面的
MD.Unicorn
回答。
我忘了注意到错误的
反斜杠
在将
\
字符显示到RichTextBox之前,您需要对其进行转义。

显然,问题源于使用ASCII艺术文本向
RichTextBox
控件馈送的方式。通过检查这两幅图像,您可以看到
RichTextBox
中缺少的字符是反斜杠,并且是反斜杠之后的字符。您似乎忘记了转义反斜杠字符。

您可以共享文本吗?是否想使用控制台应用程序进行尝试。@user-您使用哪种字体进行RTF?@Yasser-其winform不是控制台应用程序它与您正在制作的应用程序无关,我想要的只是文本,这样我就可以重新创建问题并可能帮助您获得解决方案。我在第一张图像中没有看到任何反斜杠(\)。如何将文本发送到
RichTextBox
?是的,反斜杠弄乱了RTF。一旦我用RTF转义序列取代它,它就像一个符咒。谢谢大家!@用户1454902接受这个答案而不是我的答案是完全不公平的。你同意AppDeveloper吗?