【问题标题】:How do I show/activate the text cursor in open document? [C#, EnvDTE]如何在打开的文档中显示/激活文本光标? [C#,EnvDTE]
【发布时间】:2019-07-04 10:22:26
【问题描述】:

我正在尝试将光标设置在打开的文档中,但它没有显示。我可以看到该行被“标记”并且我可以“导航”这些行,但是没有显示光标,因此我无法写任何东西。此外,似乎文档并没有真正完全加载,因为指南和导航图也没有显示。
这让我相信焦点没有完全设置在文档内。
我已经确认焦点确实没有在窗口中的文档中设置,因为如果我之前有输出窗口焦点,那么在调用 window.Activate() 方法之后它仍然是焦点。

我用的是常用的方法,通过ProjectItem.Open(Constants.vsViewKindCode)打开文档,激活,使用TextSelection.GotoLine(1,false)方法。

这会正确显示文档并正确设置行,但我必须在文档内部手动单击才能显示光标。

我的代码:

Window window = projItem.Open(Constants.vsViewKindCode);
window.Activate(); <----- this does not focus the window.
TextSelection textSelection = window.Document.Selection as TextSelection;
textSelection.GotoLine(1, false);

我希望不必手动单击文档内部以使其完全加载并让我能够在其中写入。

希望有人可以帮助我。

【问题讨论】:

    标签: c# envdte


    【解决方案1】:

    哦,好吧,另一个我必须自己解决的问题......两个对两个。我想人们并不像我希望的那样知道那么多。哦,好吧。

    任何人,我发现如果你使用DTE.ItemOperations.OpenFile(path); 而没有别的, 该文件将正确接收焦点,就像您使用 .Activate() 时一样。

    【讨论】:

      猜你喜欢
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多