繁体   English   中英

C#添加自定义richtextbox

[英]C# Adding custom richtextbox

在这里问了一个问题

而且我不确定如何添加用户给我的类-我刚刚创建了一个新的类文件,然后粘贴到该类中,但我不知道如何将其应用于richtextbox?

这是我的richtextbox的查找方式...我在文本编辑器中打开的每个标签页都有一个richtextbox,我在newtab上创建了一个新的文本框

public RichTextBox GetRichTextBox()
    {
        RichTextBox rtb = null;
        TabPage starting = tabControl1.SelectedTab;

        if (starting != null)
        {
            rtb = starting.Controls[0] as RichTextBox;
        }

        rtb.TextChanged += new EventHandler(txtBox_TextChanged);
        rtb.MouseClick += new MouseEventHandler(rtbh_MouseClick);

        //rtb.Select(rtb.Text.Length, 0);
        rtb.Font = new Font(rtb.Font.FontFamily, 12);


        rtb.Select(rtb.Text.Length, 0);
        return rtb;
    }

用户提供给您的类继承自RichTextBox因此,在将文本框添加到文本编辑器时,请添加此自定义类。 对于查找文本框的功能,请使用自定义控件。 因此,将以上功能更改为:

public HighlightableRTB GetRichTextBox()
{
    HighlightableRTB rtb = null;
    TabPage starting = tabControl1.SelectedTab;

    if (starting != null)
    {
        rtb = starting.Controls[0] as HighlightableRTB;
    }

    if (rtb != null)
    {
        rtb.TextChanged += new EventHandler(txtBox_TextChanged);
        rtb.MouseClick += new MouseEventHandler(rtbh_MouseClick);

        //rtb.Select(rtb.Text.Length, 0);
        rtb.Font = new Font(rtb.Font.FontFamily, 12);

        rtb.Select(rtb.Text.Length, 0);
    }

    return rtb;
}

实际添加自定义文本框应该看起来像这样:

TabPage tabPage = new TabPage("Test");
tabPage.Name = "Test";
tabControl1.TabPages.Add(tabPage);

HighlightableRTB customTextBox = new HighlightableRTB();

tabControl1.TabPages["Test"].Controls.Add(customTextBox);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM