public void Write(string text, Color backgroundColour, Color foregroundColor) { if (textEditorControl.InvokeRequired) { WriteInvoker invoker = new WriteInvoker(Write); textEditorControl.Invoke(invoker, new object[] { text, backgroundColour, foregroundColor }); } else { int offset = textEditorControl.Document.PositionToOffset(new TextLocation(Column, Line)); textEditorControl.ActiveTextAreaControl.TextArea.InsertString(text); if (!backgroundColour.IsEmpty) { TextMarker marker = new TextMarker(offset, text.Length, TextMarkerType.SolidBlock, backgroundColour, foregroundColor); textEditorControl.Document.MarkerStrategy.AddMarker(marker); textEditorControl.Refresh(); } } }