2013-04-05 47 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