Add in 从外接程序的富文本框中获取所选单词

Add in 从外接程序的富文本框中获取所选单词,add-in,infopath,selectedtext,Add In,Infopath,Selectedtext,我有一个VSTO插件,它有一个菜单和按钮。在我的infopath表单中,我有多个可由用户编辑的富文本框。编辑时,如果用户在任何富文本框中选择一个单词或句子,然后单击外接程序中的按钮,我需要在下拉列表中添加这些选定的文本 如何从富文本框中获取所选文本?所选文本可能位于任何一个可用的富文本框中,因此我需要知道上下文以识别富文本框,然后仅获取所选文本。在您的btn_Clicked事件中,请尝试此代码。它应该抓取从鼠标所在位置开始到当前块结尾的文本 var curCaret = richTextBox1

我有一个VSTO插件,它有一个菜单和按钮。在我的infopath表单中,我有多个可由用户编辑的富文本框。编辑时,如果用户在任何富文本框中选择一个单词或句子,然后单击外接程序中的按钮,我需要在下拉列表中添加这些选定的文本


如何从富文本框中获取所选文本?所选文本可能位于任何一个可用的富文本框中,因此我需要知道上下文以识别富文本框,然后仅获取所选文本。

在您的btn_Clicked事件中,请尝试此代码。它应该抓取从鼠标所在位置开始到当前块结尾的文本

var curCaret = richTextBox1.CaretPosition;
var curBlock = richTextBox1.Document.Blocks.Where(x => x.ContentStart.CompareTo(curCaret) == -1 && x.ContentEnd.CompareTo(curCaret) == 1).FirstOrDefault();