Изменение выделенного текста в UltraTextEditor
Я хочу изменить значение в SelectedText в Infragistics UltraTextEditor перед вызовом метода Copy. Однако каждый раз, когда я пытаюсь установить новое значение, SelectedText становится пустым. Я работаю в C#, Visual Studio 2013.
Вот фрагмент кода:
string textToAlter = this.externalMessageTextBox.SelectedText;
if (textToAlter.Contains("\r\n"))
textToAlter = textToAlter.Replace("\r\n", "\r");
this.externalMessageTextBox.SelectedText = textToAlter; // SelectedText becomes blank
Дополнительная информация:
Копируемый текст - это сообщение HL7 (Health Level 7), подобное приведенному ниже. Требуется возврат каретки и новая строка, чтобы сделать его читаемым как текст в UltraTextEditor, но стандарт HL7 требует, чтобы сегменты заканчивались только возвратом каретки. Я хотел, чтобы скопированный текст форматировался в соответствии со стандартом HL7, потому что пользователи чаще всего копируют его для вставки в специальный редактор или анализатор HL7.
Вот пример текстового сообщения:
MSH|^~\&|LLS|NI|CTI|TEST0001|199712291047||ORU|57341.002|P|2.2
PID|1|111296|111296||Test^Patient|||M||||||||||1000
ORC|RE|R6013121-4^CTI|6013121-4^LLS||||||19971229104734
OBR|1|R6013121-4^CTI|6013121-4^LLS|5763^VITAMIN B12^L|||19951218000000|||||||19951219091841||||||||19971229104736|||F
1 ответ
Это не имеет ничего общего с управлением инфраструктурой в целом
но ты должен делать это таким образом, даже если я не совсем уверен, что ты делаешь...
string textToAlter = this.externalMessageTextBox.SelectedText;
if (textToAlter.Contains("\\r\\n"))
textToAlter = textToAlter.Replace("\\r\\n", "\\r");
this.externalMessageTextBox.SelectedText = textToAlter;
скажем, текст в текстовом поле "abc\r\n
"результат будет
"abc\r
"