如何使用 C# 将文本插入 Word 文档后释放光标

本文关键字:文档 释放 光标 Word 插入 何使用 文本 | 更新日期: 2023-09-27 17:55:20

我正在创建一个MS Word VSTO addinCustom Task Pane),通过单击按钮将一些文本插入到Word文档中。但是,我发现单击按钮并将文本插入文档后,光标不会自动返回到文档正文。当我按空格键时,它会再次触发按钮单击事件,而不是在文档中插入空格。

这是单击按钮的 c# 代码:

public void btnInsert_Click(object sender, EventArgs e)
{    
     Word.Application objApplication = Globals.ThisAddIn.Application;
     Word.Selection objSelection = objApplication.Selection;
     Word.Range objRange = objSelection.Range;
     objRange.InsertAfter("Sample Text");
     objRange.Collapse(Word.WdCollapseDirection.wdCollapseEnd);
     objRange.Select();
}

插入示例文本后,如何将光标移回文档中?

如何使用 C# 将文本插入 Word 文档后释放光标

来自评论 在任务窗格中单击后如何发回MS word光标焦点在当前文档上 看起来这不可能直接实现。

对于遇到此问题的其他任何人,我发现对 F10("显示关键提示")解决方法的这种小修改有效:

System.Windows.Forms.SendKeys.Send("{F10}");
System.Windows.Forms.SendKeys.Send("{F10}");

这似乎也将焦点返回到活动文档(但有"哔哔声"的缺点):

System.Windows.Forms.SendKeys.Send("%W");