25

Windows 7では、ボリュームミキサーウィンドウには特定のスタイルがあり、太くて透明な境界線がありますが、タイトルバーはありません。WinFormsウィンドウでそのウィンドウスタイルを再作成するにはどうすればよいですか?

ボリュームミキサー

Textをstring.Emptyに設定し、ControlBoxをfalseに設定して、タイトルバーを削除しようとしましたが、境界線も消えます。

境界線が消える

4

3 に答える 3

33
form.Text = string.Empty;
form.ControlBox = false;
form.FormBorderStyle = FormBorderStyle.SizableToolWindow;

固定サイズのウィンドウの場合はFormBorderStyle.SizableToolWindow、引き続きを使用する必要がありますが、フォームをオーバーライドして、WndProcクライアント以外のヒットテスト(サイジングカーソルへの切り替えに使用される)を無視することができます。

protected override void WndProc(ref Message message)
{
    const int WM_NCHITTEST = 0x0084;

    if (message.Msg == WM_NCHITTEST)
        return;

    base.WndProc(ref message);
}

サイズを実際に適用したい場合は、フォームにMinimumSize等しい値を設定することもできます。MaximumSize

于 2010-08-29T08:45:15.073 に答える
-1

form.FormBorderStyle = FormBorderStyle.Fixed3D;

于 2016-06-26T13:43:09.797 に答える