2013-04-05 71 views
0

我在写VSIX插件。我在Visual Studio标准工具栏上创建了一个图标。我的自定义命令连接到它:如何在Visual Studio菜单项上注册鼠标悬停事件?

var mcs = GetService(typeof(IMenuCommandService)) as OleMenuCommandService; 
var commandId = new CommandID(GuidList.guidSthCmdSet, PkgCmdIDList.cmdidSth); 
command = new OleMenuCommand(DoSomething, commandId); 
mcs.AddCommand(command); 

如果我点击这个图标,在DoSomething函数调用。我现在需要做的是运行其他功能,而鼠标光标位于工具栏图标上方。这个怎么做 ?

回答

0

我会说,这是不可能的...

+0

我想,没有明显的方法,但甚至没有任何黑客?也许通过使用COM对象..基本上我陷入困境,因为在现阶段我甚至不知道我需要搜索什么样的信息,以开始实施任何解决方法。 – jwaliszko 2013-04-05 15:36:39

+0

你能解释一下你想要达到的目标吗?也许有更好的(更简单的)解决方案。 – Matze 2013-04-22 15:14:54

+0

我试图编写一个扩展,它意识到跨多个Visual Studio实例的某些状态更改。如果这样的变化是在一个VS中完成的,我需要将这样的信息反映到另一个VS中,在特定按钮上的工具提示中。我以为我需要一个事件,可以在鼠标光标在按钮上时触发,以显示新的信息。我发现简单的解决方法。只写了一个内部线程,作为一个池化机制。它只是周期性地吸收一些新鲜的东西,并更新工具提示(每秒 - 足够让用户从一个VS改变到另一个)。 – jwaliszko 2013-04-22 15:39:44