gpt4 book ai didi

c# - 文档窗口在 Visual Studio 中获得焦点时的事件

转载 作者:太空狗 更新时间:2023-10-29 23:14:11 25 4
gpt4 key购买 nike

我在 Visual Studio 中有一个可扩展性项目,我需要使用在 Visual Studio 编辑器中从一个窗口切换到另一个窗口时触发的事件,我的问题:

我创建了一个显示一些图表的工具窗口,该图表依赖于一个可编辑文件,当我保存可编辑文件时,我的工具窗口会更新信息,但是当打开多个可编辑文件并在它们之间切换时,我希望工具窗口也更新信息。所以:

我想在 Visual Studio 中的窗口、文件或文档之间切换时触发该事件,以便我可以使用它来执行我的工具窗口的更新代码。有什么我可以做的吗?

我刚在这里读到这个问题,但没有找到解决方案: Are there any document window focus events?

最佳答案

您可以订阅 EnvDTE.WindowEvents.WindowActivated 事件:

using EnvDTE;
using Microsoft.VisualStudio.Shell;

private class MyClass
{
private DTE dte;

public MyClass()
{
dte = Package.GetGlobalService(typeof(EnvDTE.DTE)) as EnvDTE.DTE;
dte.Events.WindowEvents.WindowActivated += OnWindowActivated;
}

private void OnWindowActivated(Window gotFocus, Window lostFocus)
{
throw new NotImplementedException();
}
}

例如参见 1. Display document path of the active window in the status bar示例代码。

关于c# - 文档窗口在 Visual Studio 中获得焦点时的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29001240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com