簡體   English   中英

WPF ShowDialog 單擊所有者窗口事件

[英]WPF ShowDialog Click owner Window Event

我的英文不是很好,希望你能幫我回答這個問題,快點,WPF的時候ShowDialog(),點擊其他父窗體觸發的事件可以捕獲嗎?

比如系統自帶的MessageBox,點擊父窗口,會有閃爍的動畫。

我想捕獲事件,謝謝

首先,無論你的目標是在年底,大概可以用不同的方式達到。 我真的鼓勵你退后幾步,三思而后行,在實際做你要求的事情之前嘗試從不同的方面解決問題。

至於你的問題,你在WPF中沒有這樣的事件。 有一個答案,但沒有簡單的方法。 您必須猜測並進行低級別。 猜測將取決於它運行的 Windows 版本。

無論如何,您需要檢查您的所有者表單收到的窗口消息的順序。 在 Windows 8.1 中,所有者表單接收WM_WINDOWPOSCHANGING,其中 lParam 指向flags至少為0x13 : SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOSIZE結構0x13 : SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOSIZE

當然,要獲取此信息,您需要先覆蓋窗口的 WindowProc,這在 WPF 中是一個單獨的樂趣。 此外,參數組合也可能發生在其他情況下,因此您必須確保以某種方式跟蹤您打開了一個模態對話框,以便這種窗口消息實際上意味着嘗試激活所有者窗口。

它是低級 Windows 管理,因此您基本上可以做任何事情。 但我真的建議你在朝這個方向前進之前多考慮幾次。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM