Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.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# - Fatal编程技术网

C#添加自定义richtextbox

C#添加自定义richtextbox,c#,C#,我问了一个问题 我不确定如何添加用户给我的类-我刚刚创建了一个新的类文件,然后粘贴到类中,我不知道如何将其应用到richtextbox 我的richtextbox是如何找到的。。。我在文本编辑器中打开的每个选项卡页都有一个richtextbox我在newtab上创建了一个新的文本框 public RichTextBox GetRichTextBox() { RichTextBox rtb = null; TabPage starting = tabCont

我问了一个问题

我不确定如何添加用户给我的类-我刚刚创建了一个新的类文件,然后粘贴到类中,我不知道如何将其应用到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);

谢谢你的回答。但我似乎无法突出任何线条?这是因为我的课而突出的一句话吗?我的所有行都没有高亮显示为黄色:(@user3354197)在向选项卡添加文本框时,您是否使用了用户提供的自定义类?这应该可以处理高亮显示。