【问题标题】:Changing Selected Text in UltraTextEditor在 UltraTextEditor 中更改选定文本
【发布时间】:2014-12-31 00:20:35
【问题描述】:

我想在调用 Copy 方法之前更改 Infragistics UltraTextEditor 中 SelectedText 的值。但是,每次我尝试设置新值时,SelectedText 都会变为空白。我在 C#,Visual Studio 2013 中工作。

这里是代码sn-p:

            string textToAlter = this.externalMessageTextBox.SelectedText;

            if (textToAlter.Contains("\r\n"))
                textToAlter = textToAlter.Replace("\r\n", "\r");

            this.externalMessageTextBox.SelectedText = textToAlter;  // SelectedText becomes blank

附加信息:

要复制的文本是一条 HL7(健康级别 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

【问题讨论】:

  • 文本框中的文本是什么,你能举个例子吗?文本框中是选择了部分文本还是选择了整个文本?

标签: c# infragistics selectedtext


【解决方案1】:

这与一般的基础设施控制无关

但你必须这样做,即使我不太确定你在做什么......

        string textToAlter = this.externalMessageTextBox.SelectedText;

        if (textToAlter.Contains("\\r\\n"))
            textToAlter = textToAlter.Replace("\\r\\n", "\\r");

        this.externalMessageTextBox.SelectedText = textToAlter;

假设文本框中的 .text 是“abc\r\n”,结果将是

abc\r

【讨论】:

  • 其实我对文本格式没有问题。字符被替换就好了。我可以毫无问题地更改文本本身,但不能更改选定的文本。即使我想将选定的文本设置为“这是一个测试”之类的简单内容,它也不会让我这样做。
  • 您的代码对我来说运行良好,我必须选择文本并替换它,但我必须将字符“\”加倍为“\\”才能使其正常工作
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多