フォームがフォーカスを取得しないようにするにはどうすればよいですか?
フォームを通知として表示すると、フォーカスがメイン フォームから離れることが多く、ユーザー フローが中断される可能性があります。この問題を解決するには、ShowWithoutActivation 属性または CreateParams オーバーライドを使用して、フォーカスの取得を防止します。
アクティベーションなしで表示
Form.ShowWithoutActivation プロパティをオーバーライドすると、表示中にフォームがフォーカスを取得できなくなります。
<code class="language-csharp">protected override bool ShowWithoutActivation { get { return true; } }</code>
CreateParams オーバーライド
通知フォームもクリックの影響を受けないようにする必要がある場合は、CreateParams オーバーライドを使用できます:
<code class="language-csharp">protected override CreateParams CreateParams { get { CreateParams baseParams = base.CreateParams; const int WS_EX_NOACTIVATE = 0x08000000; const int WS_EX_TOOLWINDOW = 0x00000080; baseParams.ExStyle |= (int)(WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW); return baseParams; } }</code>
これらのメソッドを利用することで、メインフォームのフォーカスを崩すことなく通知フォームを表示することができます。
以上が通知フォームがフォーカスを盗むのを防ぐには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。