57

C#でWinFormのタイトルバーの色を変更することは可能ですか?

          __________________________
         [Form1_______________-|[]|X] <- I want to change the color of this
         |                          |
         |                          |
         |                          |
         |__________________________|
4

4 に答える 4

25

この問題を解決しました。これはコードです:

[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int ReleaseDC(IntPtr hWnd, IntPtr hDC);

[DllImport("User32.dll")]
private static extern IntPtr GetWindowDC(IntPtr hWnd);

protected override void WndProc(ref Message m)
{
    base.WndProc(ref m);
    const int WM_NCPAINT = 0x85;
    if (m.Msg == WM_NCPAINT)
    {
        IntPtr hdc = GetWindowDC(m.HWnd);
        if ((int)hdc != 0)
        {
            Graphics g = Graphics.FromHdc(hdc);
            g.FillRectangle(Brushes.Green, new Rectangle(0, 0, 4800, 23));
            g.Flush();
            ReleaseDC(m.HWnd, hdc);
        }
    }
}
于 2012-08-18T08:05:43.063 に答える
13

できることは、FormBorderStyleプロパティを設定し、 NoneGDI を使用してフォームで必要なことを行うことです。

于 2012-08-08T10:15:23.143 に答える
-4

他とは異なるタイトル バーが必要な場合は、コミュニティ ライセンスの取得を検討してください

私は一度試してみましたが、うまくいきました。インストールして変更するだけでしFormSfForm

これは using ステートメントです

using Syncfusion.WinForms.Controls;

WinForms のリファレンスはSyncfusion.Core.WinFormsSyncfusion.Shared.Base

于 2020-02-14T00:37:17.117 に答える
-46

This is easy to do:

  1. Right-click on the desktop, and select "Personalize".

  2. Click on the "Window Color" tile at the bottom of the screen.

  3. Choose your new color.

    If your computer is configured to use the Aero theme, you can choose from one of the standard colors or mix one of your own.

    If you're using the Classic theme, you'll see a "Window Color and Appearance" dialog you can use to set colors. Click on the title bar the sample desktop, the one called "Active Window", and then use the "Color 1" and "Color 2" drop-down boxes to pick a new color.

I can only assume this is what you meant, because there is absolutely no excuse to change only the color of your application's title bar. There's a reason that this is a system-wide setting.

Always obey the user's preferences. If they wanted your title bar to be a different color, they would choose a different color.

于 2012-08-09T01:01:54.587 に答える