謹慎地顯示 Windows 窗體
有時,您需要顯示提供資訊的表單而不干擾主應用程式的焦點。 以下是實現此目標的方法:
方法一:使用ShowWithoutActivation
通常,表單在顯示時會抓住焦點。為了防止這種情況,請覆寫 ShowWithoutActivation
屬性:
<code class="language-csharp">protected override bool ShowWithoutActivation { get { return true; } }</code>
這可確保您的通知表單出現,而不會中斷使用者與主表單的互動。
方法二:建立工具視窗
為了更好地控制,請使用 CreateParams
屬性覆寫建立一個工具視窗:
<code class="language-csharp">protected override CreateParams CreateParams { get { CreateParams baseParams = base.CreateParams; // Set no activation and tool window styles const int WS_EX_NOACTIVATE = 0x08000000; const int WS_EX_TOOLWINDOW = 0x00000080; baseParams.ExStyle |= (int)(WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW); return baseParams; } }</code>
這是建立在 ShowWithoutActivation
之上的,進一步防止視窗獲得焦點。
方法 3:建立非互動式通知
對於完全被動的通知,請停用使用者互動:
<code class="language-csharp">FormBorderStyle = FormBorderStyle.None; AllowTransparency = true; TopMost = true;</code>
刪除邊框、啟用透明度並設定 TopMost
建立不顯眼、不可點擊的通知。
以上是如何在不分散使用者註意力的情況下顯示 Windows 窗體?的詳細內容。更多資訊請關注PHP中文網其他相關文章!