.net 如何在VisualStudio菜单项上注册鼠标悬停事件?
我正在写VSIX插件。我在VisualStudio标准工具栏上创建了一个图标。我的自定义命令已附加到它:.net 如何在VisualStudio菜单项上注册鼠标悬停事件?,.net,visual-studio,envdte,vsix,vspackage,.net,Visual Studio,Envdte,Vsix,Vspackage,我正在写VSIX插件。我在VisualStudio标准工具栏上创建了一个图标。我的自定义命令已附加到它: var mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService; var commandId = new CommandID(GuidList.guidSthCmdSet, PkgCmdIDList.cmdidSth); command = new OleMenuCommand(DoSomething, c
var mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService;
var commandId = new CommandID(GuidList.guidSthCmdSet, PkgCmdIDList.cmdidSth);
command = new OleMenuCommand(DoSomething, commandId);
mcs.AddCommand(command);
如果单击此图标,则调用
DoSomething
函数。我现在需要做的是运行其他功能,而我的鼠标光标位于工具栏图标上。如何做到这一点?我会说,这是不可能的…我想没有明显的方法,但甚至没有任何黑客?可能是通过使用COM对象。。基本上,我遇到了麻烦,因为在目前的阶段,我甚至不知道我需要搜索什么样的信息,以开始实施任何解决方案;也许有更好(甚至更简单)的解决方案。我正在尝试编写一个扩展,它可以在Visual Studio的多个实例中发现一些状态变化。如果这样的更改是在一个VS中完成的,我需要这样的信息反映在另一个VS中,在特定按钮的工具提示中。我想我需要一个事件,它可以在鼠标光标位于按钮上方时触发,以获取和显示新信息。我找到了简单的解决办法。刚刚编写了一个内部线程,它作为池机制工作。它只是周期性地吸收一些新鲜的东西,并更新工具提示(每秒钟——足以让用户从一个VS切换到另一个VS)。