Я создал AppBar. AppBar всегда остается на вершине, когда он теряет фокус, то для возврата в AppBar требуется два клика вместо одного. Я считаю, что первый щелчок активирует форму, а затем вторым щелчком мыши я получаю события щелчка мыши (как и ожидалось). Можете ли вы дать какие-то идеи, что здесь может быть неправильным? Моя проблема похожа на эту Appbar and focus issues. К сожалению, OP в этой ссылке не опубликовал его решение, грустно.AppBar focus issue
Я создал 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
Глядя на журналы Spy ++, я считаю, что проблема с активацией, я думаю, что он получает только WM_LBUTTONDOWN событие, если окно активируется. Но почему другие окна не активируются, но они все еще работают одним щелчком мыши (т. Е. Мне не нужно сначала щелкнуть по нему).
EDIT: Я думаю, что проблема с ToolStrip. У меня есть ToolStrip в моем AppBar. Теперь, как я это подтвердил? Ну, в той же форме я создал кнопку и показал окно сообщения в своем клик-событии, и он работает нормально. Теперь, как исправить это?