public void GoRight(bool shift) { if (start.iLine < tb.LinesCount - 1 || start.iChar < tb[tb.LinesCount - 1].Count) { if (start.iChar < tb[start.iLine].Count && tb.lineInfos[start.iLine].VisibleState == VisibleState.Visible) { start.Offset(1, 0); } else { int i = tb.FindNextVisibleLine(start.iLine); if (i == start.iLine) { return; } start = new Place(0, i); } } if (!shift) { end = start; } OnSelectionChanged(); preferedPos = -1; }