如果我在我的Visual Studio 2005宏EnvironmentEvents
模块中添加WindowEvents_WindowActivated
处理程序,我得到一个奇怪的副作用:当我在Visual Studio中从一个窗口单击到另一个窗口时,点击被视为双击。Visual Studio宏:WindowActivated处理程序将点击变成双击
因此,例如,我将焦点放在编辑器窗口中,然后在解决方案资源管理器中单击一个文件,然后打开文件。
或者我把焦点放在工具箱中,然后点击一个编辑器窗口,我点击的单词被选中。在大多数情况下,当单击会导致窗口激活时,该点击将被视为双击。
出现这种情况,即使空的事件处理程序:
Private Sub WindowEvents_WindowActivated(ByVal GotFocus As EnvDTE.Window, _
ByVal LostFocus As EnvDTE.Window) _
Handles WindowEvents.WindowActivated
' Do nothing.
End Sub
我想用WindowActivated
事件做很酷的东西,但是这是一个杀手。有没有人看过这个,并解决它? (我知道我可以使用一个计时器并轮询当前窗口,但是吸食)
当您从另一个窗口单击数据集设计器时,也会出现同样的恼人行为。你进入数据库代码隐藏。 – 2009-08-27 15:57:22
事件处理程序是否也被调用两次? – Steven 2009-08-31 20:22:06
@Steven:处理程序只被调用一次,但看到我对AMissico的答案的评论。 – RichieHindle 2009-09-01 18:11:40