簡體   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