【发布时间】:2016-07-05 07:50:22
【问题描述】:
在我的列表中添加“圆形”项目符号样式时遇到问题。我尝试将其编码为 WebBrowser 对象,然后将其传递到 RTB,我也尝试了richtextbox.rtf,但没有成功。
对于我尝试过的 HTML:
WebBrowser webBrowser1 = new WebBrowser();
string content;
content = "<html><body><font size=4><b>" + projects[0].ProjectName.ToString() + "</font></b> <br> <u>Description</u>: "
+ projects[0].Objective.ToString() + "<br><u>Benefits</u>: <ul style=\"list-style-type:circle\"><li>Near-Term --</li>"
+ "<ul style=\"list-style-type:circle\"><li type=\"circle\">" + projects[1].ShortTerm.ToString() + "</li></ul></ul></body></html>";
webBrowser1.Navigate("about:blank");
webBrowser1.Document.Write(content);
webBrowser1.Document.ExecCommand("SelectAll", false, null);
webBrowser1.Document.ExecCommand("Copy", false, null);
projectsEditor1.RichTextBox.Paste();
这将正确输出所有内容,但是应该是一个开放圆圈的嵌套项目符号只是默认的“圆盘”值。我尝试将类型放在 li 和 ul 中,但都没有运气。这个例子只是向我展示了我这样做,希望它会起作用。我已经看到 RTB 的“仅支持”光盘价值。但是,如果我从 word 中获取项目符号列表并将其复制/粘贴到我的 RTB 中,它会显示圆形项目符号。是否可以将圆形值编程到 RTB 中?
我当前的代码,因为 HTML 不起作用,只是这样做:
projectsEditor1.RichTextBox.SelectionBullet = true;
projectsEditor1.RichTextBox.BulletIndent = 20;
projectsEditor1.RichTextBox.AppendText("Near-term –");
projectsEditor1.RichTextBox.AppendText(Environment.NewLine);
projectsEditor1.RichTextBox.SelectionBullet = false;
projectsEditor1.RichTextBox.SelectionFont = new System.Drawing.Font("Calibri", 11.0F, FontStyle.Regular);
projectsEditor1.RichTextBox.SelectionIndent = 45;
projectsEditor1.RichTextBox.SelectionBullet = true;
projectsEditor1.RichTextBox.BulletIndent = 20;
projectsEditor1.RichTextBox.SelectionFont = new System.Drawing.Font("Calibri", 11.0F, FontStyle.Regular);
projectsEditor1.RichTextBox.AppendText(project.ShortTerm.ToString());
projectsEditor1.RichTextBox.AppendText(Environment.NewLine);
projectsEditor1.RichTextBox.SelectionBullet = false;
projectsEditor1.RichTextBox.SelectionIndent = 0;
但这又会产生与 HTML 相同的结果。
电流输出:
期望的输出:
就像我说的那样,我能找到说 RTB 不支持除了默认项目符号之外的任何东西,但你可以将它们粘贴到 RTB 中,所以这让我觉得可以做到。
【问题讨论】:
标签: c# html winforms richtextbox