C# - RichTextBoxPrintCtrl 和 tabcontrol

C# - RichTextBoxPrintCtrl and tabcontrol

您好(抱歉我的英语不好),我在使用 RichTextBoxPrintCtrl 和 TabControl 打印 RTF 时遇到问题。

1) tabcontrol在Design上没有tabs,当Form Load时,它会通过方法AddTab(Title)得到一个tabs。 (不要介意其他变量)。

private void AddTab(string Name = "Nuova Nota*")
{
    RichTextBox Body = new RichTextBox();
    Body.Name = "Body";
    Body.Dock = DockStyle.Fill;
    Body.ContextMenuStrip = contextMenuStrip1;
    TabPage NewPage = new TabPage();
    string DocumentText = Nome;
    if (Nome == "Nuova Nota*")
    {
        TabCount += 1;
        DocumentText = Nome + TabCount;
    }
    NewPage.Name = DocumentText;
    NewPage.Text = DocumentText;
    tabControl1.Visible = true;
    NewPage.Controls.Add(Body);
    tabControl1.TabPages.Add(NewPage);
    tabControl1.SelectedTab = NewPage;
    Nomi_Files.Add(NewPage.Text);
    Path_Files.Add("");
}

2)创建标签后,就可以开始书写,更改颜色,字体等... 为了访问您正在制作的文档,我使用了 GetCurrentDocument,即 return 所选选项卡的 "Body":

private RichTextBox GetCurrentDocument
{
    get { return (RichTextBox)tabControl1.SelectedTab.Controls["Body"];}
}

现在,所有功能(保存、打开、字体、颜色...)工作正常,我想打印我的文档并保持样式,所以我用谷歌搜索并找到了这个:How to print the content of a RichTextBox control by using Visual C#

我制作了 RichTextBoxPrintCtrl.dll,在我的项目中添加了资源,在工具箱中添加了项目,但我无法更改我从代码创建的 RichTextBox,使用 RichTextBoxPrintCtrl. 我得到的错误是:

Error 1 'RichTextBoxPrintCtrl' is a 'namespace' but is used like a 'type'

如何在不将其拖放到设计表单中的情况下使用 RichTextBoxPrintCtrl

好的,我想出了解决方法:

而不是像这样声明:

RichTextBoxPrintCtrl NameControl = new RichTextBoxPrintCtrl(); 

我们需要这样声明命名空间:

RichTextBoxPrintCtrl.RichTextBoxPrintCtrl NameControl = new RichTextBoxPrintCtrl.RichTextBoxPrintCtrl();

一切正常 :) 谢谢;