我想在Richtextbox(winforms 4.5.2)中显示希腊字母lambda。
我的RTF如下所示:
richTextBox1.Rtf = "{\\rtf1\\ansi\\deff0{\\fonttbl{\\f0\\fswiss\\fcharset0 Arial;}}\\uc1\\pard\\f0\\fs24 pdioxaborolan-2-yl)phenyl]-λ⁶-sulfane}";
,但它始终将λ⁶显示为两个? (问号)
我还尝试直接用\u03BB
代替希腊符号,但输出没有任何变化。
请帮助显示希腊字母。
如果我直接分配文本,那么它将起作用。
richTextBox1.Text = "pdioxaborolan-2-yl)phenyl]-λ⁶-sulfane";
(在这种情况下,lambda显示为希腊字母,但上标显示为方框)
谢谢...
答案 0 :(得分:0)
简短的答案是您显示的RTF不支持字符,我猜是字体。
作为测试,我在Richtextbox(RTB)中添加了一些文本。 RTB的字体不支持这些字符。有了这段代码,我就可以将您的文本正确地添加到RTB的末尾
RichTextBox1.SelectionStart = RichTextBox1.TextLength - 1
RichTextBox1.SelectionLength = 0
RichTextBox1.SelectedRtf = "{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fnil\fcharset0 Times New Roman;}{\f1\fnil\fcharset161{\*\fname Times New Roman;}Times New Roman Greek;}}\uc1\pard\f0\fs24 pdioxaborolan-2-yl)phenyl]-\f1\'eb\f0\u8310?-sulfane}"
结果
sd 486
sdivs 1
------------
Total 531
Other 540 e.g. text, comment
pdioxaborolan-2-yl)phenyl]-λ⁶-sulfane