我已經創建了一個AppBar。當AppBar失去焦點時,它總是保持在最前面,然後回到AppBar需要兩次點擊而不是一次。我相信第一次點擊會激活表單,然後再次點擊我收到鼠標點擊事件(如預期的那樣)。你能給出任何想法,這裏有什麼可能是錯的?我的問題類似於這個Appbar and focus issues。不幸的是,該鏈接中的OP沒有公佈他的解決方案,傷心。AppBar焦點問題
我創建了應用條下面的文章CodeProject C# does Shell, Part 3。
我用Spy ++研究過它,但不知道爲什麼會發生這種情況。這裏是我得到這個場景測試的Spy ++日誌(第一次點擊不起作用,第二次點擊)。
<00001> 00090CFE S WM_PARENTNOTIFY fwEvent:WM_LBUTTONDOWN xPos:25 yPos:17
<00002> 00090CFE R WM_PARENTNOTIFY
<00003> 00090CFE S WM_WINDOWPOSCHANGING lpwp:0418EAE4
<00004> 00090CFE R WM_WINDOWPOSCHANGING
<00005> 00090CFE S WM_ACTIVATEAPP fActive:True dwThreadID:00000000
<00006> 00090CFE R WM_ACTIVATEAPP
<00007> 00090CFE S WM_NCACTIVATE fActive:True
<00008> 00090CFE R WM_NCACTIVATE
<00009> 00090CFE S WM_ACTIVATE fActive:WA_CLICKACTIVE fMinimized:False hwndPrevious:(null)
<00010> 00090CFE S WM_IME_SETCONTEXT fSet:1 iShow:C000000F
<00011> 00090CFE S WM_IME_NOTIFY dwCommand:IMN_OPENSTATUSWINDOW dwCommand:00000002 dwData:00000000
<00012> 00090CFE R WM_IME_NOTIFY
<00013> 00090CFE R WM_IME_SETCONTEXT
<00014> 00090CFE S WM_SETFOCUS hwndLoseFocus:(null)
<00015> 00090CFE R WM_SETFOCUS
<00016> 00090CFE R WM_ACTIVATE
Now happens the second click (which works)
<00017> 00090CFE S WM_PARENTNOTIFY fwEvent:WM_LBUTTONDOWN xPos:25 yPos:17
<00018> 00090CFE R WM_PARENTNOTIFY
<00019> 00090CFE S WM_WINDOWPOSCHANGING lpwp:0418E40C
<00020> 00090CFE R WM_WINDOWPOSCHANGING
望着間諜++日誌,我相信這個問題是激活的,我想,如果窗口被激活,它僅接收WM_LBUTTONDOWN事件。但是,其他窗口怎麼沒有被激活,但他們仍然只需點擊一下(即我不必先點擊它)。
編輯:我認爲問題是與ToolStrip。我在我的AppBar中有一個ToolStrip。現在我如何驗證這一點?在相同的表單上,我創建了一個按鈕,並在其click事件中顯示了一個消息框,並且它工作正常。現在該如何補救?