|
using System.Drawing;
using System.Windows.Forms;
using FastColoredTextBoxNS;
using System.Text.RegularExpressions;
namespace Tester
{
public partial class CustomStyleSample : Form
{
//create my custom style
EllipseStyle ellipseStyle = new EllipseStyle();
public CustomStyleSample()
{
InitializeComponent();
}
private void fctb_TextChanged(object sender, TextChangedEventArgs e)
{
//clear old styles of chars
e.ChangedRange.ClearStyle(ellipseStyle);
//append style for word 'Babylon'
e.ChangedRange.SetStyle(ellipseStyle, @"\bBabylon\b", RegexOptions.IgnoreCase);
}
}
/// <summary>
/// This style will drawing ellipse around of the word
/// </summary>
class EllipseStyle : Style
{
public override void Draw(Graphics gr, Point position, Range range)
{
//get size of rectangle
Size size = GetSizeOfRange(range);
//create rectangle
Rectangle rect = new Rectangle(position, size);
//inflate it
rect.Inflate(2, 2);
//get rounded rectangle
var path = GetRoundedRectangle(rect, 7);
//draw rounded rectangle
gr.DrawPath(Pens.Red, path);
}
}
}
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I am Pavеl Tоrgаshоv, and I live in Kyiv, Ukraine.
I've been developing software since 1998.
Main activities: processing of large volumes of data, statistics, computer vision and graphics.