Я пытался создать текстовый редактор, используя ICSharpCode.TextEditor .Мне нужно получить начало и конец выделения в одной части кода.Вот что я придумал:
List<string> tmp = new List<string> { };
tmp.AddRange(mainTextBox.Text.Split(char.Parse("\n")));
tmp.RemoveRange(Misc.ArrayToString(tmp.ToArray()).ToCharArray().Length - mainTextBox.ActiveTextAreaControl.SelectionManager.SelectionCollection[0].StartPosition.Line, mainTextBox.ActiveTextAreaControl.SelectionManager.SelectionCollection[0].StartPosition.Line - 1);
string tmp2 = string.Join("\n", tmp);
selectionStart = tmp2.ToCharArray().Length + mainTextBox.ActiveTextAreaControl.SelectionManager.SelectionCollection[0].StartPosition.Column;
selectionEnd = selectionStart + mainTextBox.AcitveTextAreaControl.SelectionManager.SelectionCollection[0].Length;
В третьей строке вылетает сообщение о том, что число выходит за пределы допустимого диапазона.Я не понимаю, где я сделал что-то не так.Есть лучший способ сделать это?ICSharp.TextEditor не реализует эту функцию, насколько мне известно, и я не знаю хорошей альтернативы.
Извините за мой английский.