6

iTunes や Visual Studio 2012 などのプログラムを使用するフォームの境界線は境界線スタイルなしで行われ、閉じるボタンとしてのボタンは画像として描画されると常に考えていました。

ビジュアル スタジオ 2012 ミュージックジェット

ただし、Visual Studio が応答しなくなり、境界線が基本的な Windows 境界線に変更されました。

ウィンドウズ

独自のフォーム境界線を取得するにはどうすればよいですか? C#で可能ですか?

4

2 に答える 2

3

「ゴースト ウィンドウ」が表示されています。これは、Windows ウィンドウ マネージャーがデッド ウィンドウを置き換えるために作成するウィンドウです。タイトルバーに「応答なし」と表示されます。もちろん、そのウィンドウは同じカスタムスタイルにする必要はありません.Windowsがそれを適切に行う方法を知っている方法はありません。

Spy++ ユーティリティを使用して、別のアプリのウィンドウ プロパティを確認できます。実際、VS2012 はタイトル バーのある通常のウィンドウ スタイルを使用しています。彼らがそれをどのようにカスタマイズしたかは、よく秘密にされています。自分で実装するのはかなり難しいメッセージである WM_NCPAINT を傍受しているのではないかと思います。ボーダレス ウィンドウを使用する方が断然簡単です。

于 2012-12-10T20:15:45.560 に答える
0

@ハンスの投稿にさらに:

WPF を使用すると、次のように windowstyle を none に設定できます。

<Window WindowStyle="None">

次に、独自のボタンを実装できます。

于 2012-12-10T20:51:31.317 に答える