none
Ajout de plusieurs labels à une form de façon programmée RRS feed

  • Question

  • Bonjour,

    Je suis présentement étudiant dans le domaine de l'informatique et j'ai commencé à explorer et expérimenter de nouvelles techniques sur Visual Studio. Cependant, je fais face à un curieux problème et je n'arrive pas à trouver de solution.

    Voici mon problème: Je souhaite éventuellement manipuler plusieurs labels que j'ajoute à ma form de la façon suivante:

    Private customFont As Font = New Drawing.Font("Lucida Console", 12, FontStyle.Regular)
    Private customColor As Color = Color.Black
    Private startingLocation As New Point(10, 50)
    Private Const SPACING As Integer = 14

    Private letters() As Label

    Public Sub ParseString(ByVal str As String) ReDim letters(str.ToCharArray.Length - 1) For i = 0 To str.ToCharArray.Length - 1 letters(i) = New Label() letters(i).Font = customFont letters(i).ForeColor = customColor letters(i).BackColor = Me.BackColor letters(i).Text = str.ToCharArray(i, 1) letters(i).Location = New Point(startingLocation.X + i * SPACING, startingLocation.Y) Me.Controls.Add(letters(i)) Next End Sub


    Cependant, lorsque je lance la routine, il semblerait que seule la première label soit visible dans la form.

    Quelqu'un aurait-il une solution à proposer?

    Je vous remercie d'avance!

    Steven

    mardi 18 février 2014 02:26

Réponses

  • Bonjour,

    Définissez la propriété AutoSize comme ceci :

    letters(i).AutoSize = True
    

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    • Marqué comme réponse Xephirion mardi 18 février 2014 20:26
    mardi 18 février 2014 09:27
    Modérateur

Toutes les réponses

  • Bonjour,

    Définissez la propriété AutoSize comme ceci :

    letters(i).AutoSize = True
    

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte logiciel/Consultant/Formateur Freelance - P.O.S Informatique
    Blog : http://gilles.tourreau.fr - Suivez-moi sur Twitter
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5/4.0
    - MCSA : SQL Server 2012
    - MCITP : SQL Server 2008 Developper
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5/4.0 / TFS 2010 / Windows Azure

    • Marqué comme réponse Xephirion mardi 18 février 2014 20:26
    mardi 18 février 2014 09:27
    Modérateur
  • C'est une propriété que je ne suis pas près d'oublier.

    Merci!

    mardi 18 février 2014 20:29