Changer la couleur de la barre de titre dans WinForm

Est-il possible de changer la couleur de la barre de titre d'une WinForm C#?

          __________________________
         [Form1_______________-|[]|X] <- I want to change the color of this
         |                          |
         |                          |
         |                          |
         |__________________________|
30
demandé sur bluish 2012-08-08 14:13:12

4 réponses

j'ai résolu ce problème. C'est le code:

[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);
        }
    }
}
15
répondu Aravind 2013-11-14 14:16:17

Utiliser dessin des bordures personnalisées dans les formes Windows projet CodePlex. Ce projet est une petite bibliothèque qui étend les formes de Windows avec la capacité de personnaliser la zone non-client de windows.

8
répondu Ria 2013-11-14 14:13:58

Ce que vous pouvez faire est de mettre le FormBorderStyle propriété None et faire ce que vous voulez avec le formulaire à l'aide de GDI.

7
répondu Asif Mushtaq 2013-11-14 16:48:12

C'est facile à faire:

  1. clic-Droit sur le bureau et sélectionnez "Personnaliser".

  2. Cliquez sur "Couleur de la Fenêtre" vignette au bas de l'écran.

  3. Choisissez votre nouvelle couleur.

    si votre ordinateur est configuré pour utiliser le thème Aero, vous pouvez choisir une des couleurs standard ou mélanger une des vôtres.

    si vous utilisez le thème classique, vous verrez un " couleur de la fenêtre et Apparence " dialogue que vous pouvez utiliser pour définir les couleurs. Cliquez sur la barre de titre du bureau échantillon, celui appelé "fenêtre Active", puis utilisez les boîtes déroulantes "Color 1" et "Color 2" pour choisir une nouvelle couleur.

je ne peux que supposer que c'est ce que vous avez voulu dire, car il n'y a absolument aucune excuse pour changer seulement la couleur de la barre de titre de votre application. Il y a une raison pour laquelle il s'agit d'un cadre à l'échelle du système.

Toujours obéir à l'utilisateur préférence. S'ils voulaient que votre barre de titre soit d'une couleur différente, ils choisiraient une couleur différente.

-14
répondu Cody Gray 2012-08-09 01:01:54