Bonjour,

Pour un projet Winform en 4.8, j'ai dérivé une case à cocher pour pouvoir agrandir la case en fonction de la taille de la fonte et également colorer la coche et le fond de la case dans des couleurs personnalisées.
Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
namespace Popo.Components
{
    public class PopoCheckbox: CheckBox
    {
        public PopoCheckbox()
        {
            CheckMarkColor = Color.Black;
            CheckMarkBackColor = Color.White;
        }
 
        public Color CheckMarkColor { get; set; }
        public Color CheckMarkBackColor { get; set; }
 
        protected override void OnPaint(PaintEventArgs pevent)
        {
            // Taille de la case en fonction de la taille de la fonte
            Int32 side = Convert.ToInt32(Math.Floor(pevent.Graphics.MeasureString(Text, Font, Width).Height));
 
            pevent.Graphics.FillRectangle(new SolidBrush(BackColor), 0, 0, Width, Height);
 
            if (Checked)
            {
                Int32 x = Convert.ToInt32(Font.Height / Font.Size); // Problème principal : ceci renvoie systématiquement 2  
                Int32 y = x + 1;
 
                pevent.Graphics.FillRectangle(new SolidBrush(CheckMarkBackColor), new Rectangle(0, 0, side, side));
                pevent.Graphics.DrawString("ü", new Font("Wingdings", Font.Size, Font.Style), new SolidBrush(CheckMarkColor), x, y);
            }
            else
            {
                pevent.Graphics.FillRectangle(new SolidBrush(BackColor), new Rectangle(0, 0, side, side));
                pevent.Graphics.DrawRectangle(new Pen(ForeColor), new Rectangle(0, 0, side - 1, side - 1));
            }
 
            pevent.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), side, 0);
        }
    }
}

Le problème est que la coche est positionné en haut à gauche et que plus j'agrandis la taille de la fonte moins ma coche est centrée (elle reste en haut à gauche).
J'aimerai que la coche s'affiche au centre de la case quelle que soit la taille de ma case (donc quelque soit la taille de ma fonte vu que proportionnelle).

Une idée ?