public void OnChange()
{
if (Caret.Position.Y > Document.Count - 1)
{
Caret.Position.Y = Document.Count - 1;
//this.Caret.MoveAbsoluteHome (false);
ScrollIntoView();
}
try
{
if (VirtualWhitespace == false && Caret.CurrentRow != null &&
Caret.Position.X > Caret.CurrentRow.Text.Length)
{
Caret.Position.X = Caret.CurrentRow.Text.Length;
Redraw();
}
}
catch {}
if (!ContainsFocus)
{
Selection.ClearSelection();
}
if (Selection.LogicalBounds.FirstRow > Document.Count)
{
Selection.Bounds.FirstColumn = Caret.Position.X;
Selection.Bounds.LastColumn = Caret.Position.X;
Selection.Bounds.FirstRow = Caret.Position.Y;
Selection.Bounds.LastRow = Caret.Position.Y;
}
if (Selection.LogicalBounds.LastRow > Document.Count)
{
Selection.Bounds.FirstColumn = Caret.Position.X;
Selection.Bounds.LastColumn = Caret.Position.X;
Selection.Bounds.FirstRow = Caret.Position.Y;
Selection.Bounds.LastRow = Caret.Position.Y;
}
Redraw();
}