winforms
C#
複数のダイアログ ボックスを開くアプリケーションがあります。アプリケーションのスタイルに合わせて、各ウィンドウのデフォルトのタイトル バーを削除し、(コントロール ボタンとドラッグして移動する機能を備えた) 独自のタイトル バーを作成しました。
現在私が直面している問題は、タイトルバーがないと、ユーザーは手動で離れたときにどのウィンドウが「アクティブな」ウィンドウであるかを知る方法がないことです (したがって、それらは重なっていません)。
Windows アプリケーション (タイトルバーを使用する) では、ダイアログ ボックスから離れてメイン プログラムに戻ろうとすると (ダイアログ ボックスを閉じずに)、移動できません。ダイアログ ボックスの境界線が点滅し、Windows のエラー音が聞こえます。デフォルトのタイトルバーがなくても、同等の視覚的なフィードバックがあれば素晴らしいでしょう。ウィンドウ全体を暗くすることでうまくいくようです。
ダイアログが開いている間、親ウィンドウにうまく色を付ける擬似コードでのこのようなもの:
// tint window now
window.ShowDialog();
// un-tint window
色を「透明」に設定してすべてをカバーするパネルを配置しようとしましたが (後でパネルの不透明度を制御することを意図して)、透明度が機能していないようです。これを達成するための他のアイデアはありますか?または、同じレベルの視覚的フィードバックを達成するためのより良い提案を誰かが持っていますか?
概要: ウィンドウ全体に色を付けたり、色を重ねたりする方法はありますか? そうでない場合、ウィンドウを「非アクティブ」に見せる別の方法を提案できますか?