Rich Text Box how to highlight text block

后端 未结 3 556
庸人自扰
庸人自扰 2020-12-04 02:06

I need a certain portion of my text in RTB to be highlighted not in the sense of changing the font style/color, but in the sense of making a block selection with a particula

相关标签:
3条回答
  • 2020-12-04 02:42

    Yes you can set the BackColor of a RichTextBox Selection using the RichTextBox.SelectionBackColor Property.

    int blockStart = 1; //arbitrary numbers to test
    int blockLength = 15;
    richTextBox1.SelectionStart = blockStart;
    richTextBox1.SelectionLength = blockLength;
    richTextBox1.SelectionBackColor = Color.Yellow;
    
    0 讨论(0)
  • 2020-12-04 02:57

    Here I have created CustomRichTextBox to achieve this.

    The source code a long with scenario is explained here. If you interested then you can reuse this usercontrol directly without worry about much

    Scenario

    https://sites.google.com/site/greateindiaclub/mobil-apps/windows8/customwpfrichtextboxwithcolorchangeandhighlightfunctionality

    source code:

    https://github.com/boobalaninfo/CustomRichTextBoxWithHighligh

    0 讨论(0)
  • 2020-12-04 02:59

    I think you are looking for ScintillaNET.

    On the other hand if you want to do this by yourself in RTB then you can do it by first finding the lineNumber using TextBoxBase.Lines property. Then ...

    //Select the line from it's number
    startIndex = richTextBox.GetFirstCharIndexFromLine(lineNumber);
    richTextBox.Select(startIndex, length);
    
    //Set the selected text fore and background color
    richTextBox.SelectionColor = System.Drawing.Color.White;
    richTextBox.SelectionBackColor= System.Drawing.Color.Blue;
    
    0 讨论(0)
提交回复
热议问题