Bonjour,
Je cherche à créer un label multilignes, pour cela je souhaite traiter le text du label lors de l'affichage afin d'insérer des retours à la ligne.
Pour cela, j'ai créé un contrôle héritant de label dans lequel je surcharge le onpaint afin de réaliser mon traitement sur la chaîne.
voici mon code dans la forme
voici mon code du label
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 m_labelHelpTheme1 = new MonLabel(); m_labelHelpTheme1.Text = "aaaaaaaaaaaaaaaaa"; m_labelHelpTheme1.TextAlign = ContentAlignment.TopLeft; m_labelHelpTheme1.Font = new Font("Tahoma", 9, FontStyle.Bold); m_labelHelpTheme1.ForeColor = Color.Black; m_labelHelpTheme1.Location = new Point(10, 50); m_labelHelpTheme1.Width = ClassParameters.RightValue(230); m_labelHelpTheme1.Height = ClassParameters.RightValue(50); m_labelHelpTheme1.Parent = this; m_labelHelpTheme1.Visible = true; this.Controls.Add(m_labelHelpTheme1);
Mais le Onpaint surchargé ne se déclenche jamais....... impossible d'entrer dedans
Code : 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 using System; using System.Linq; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; namespace MonApplication { public partial class MonLabel : Label { public MonLabel() { InitializeComponent(); } protected override void OnPaint(PaintEventArgs pe) { //Ici je veux faire le traitement sur ma chaîne // Calling the base class OnPaint base.OnPaint(pe); } } }
Avez-vous une idée du pb ?
Merci d'avance pour votre aide.
Partager