none
Supprimer un label RRS feed

  • Question

  • Bonjour,

    En vb.net j'ai créé dynamiquement des labels comme ceci :

    Dim x As New Label
                                x.Name = "Matabul" & Str(nombr)
                                Controls.Add(x)
                                x.Size = New Size(75, 30)
                                x.Font = New Font("Arial", 15.75)
                                x.TextAlign = ContentAlignment.MiddleCenter
                                x.Text = nombr
                                x.Location = New Point((Button2.Location.X - 27 + (75 * nombr)), Button2.Location.Y + 206)

    comment en supprimer un (celui qui a le nombre 3 par exemple) dynamiquement ensuite ?

    D.Vilette


    Cordialement, vdom

    jeudi 12 décembre 2013 21:22

Réponses

  • Bonjour,

    L'affectation à Nothing ne supprime en cas le Label.

    Pour supprimer un label vous devez utiliser la méthode Remove() de la propriété Controls :

    Controls.Remove(x)

    Si vous cherchez votre label par la propriété Text, il suffit alors de faire une boucle for each pour chercher le label à supprimer :

            Dim labelASupprimer As Label = Nothing
    
            For Each l In Controls.OfType(Of Label)()
                If l.Text = "3" Then
                    labelASupprimer = l
                    Exit For
                End If
            Next
    
            If Not labelASupprimer Is Nothing Then
                Controls.Remove(labelASupprimer)
            Else
                MsgBox("Pas trouvé...")
            End If

    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

    • Proposé comme réponse Aurel Bera vendredi 13 décembre 2013 08:35
    • Marqué comme réponse vdom vendredi 13 décembre 2013 09:02
    vendredi 13 décembre 2013 01:12
    Modérateur

Toutes les réponses

  • Salut vdom , 

    Il y'a une technique assez simple : 

    Set Labelxxx = Nothing  

    (à essayer ) 

    Kondah .

    jeudi 12 décembre 2013 21:35
  • Bonjour,

    L'affectation à Nothing ne supprime en cas le Label.

    Pour supprimer un label vous devez utiliser la méthode Remove() de la propriété Controls :

    Controls.Remove(x)

    Si vous cherchez votre label par la propriété Text, il suffit alors de faire une boucle for each pour chercher le label à supprimer :

            Dim labelASupprimer As Label = Nothing
    
            For Each l In Controls.OfType(Of Label)()
                If l.Text = "3" Then
                    labelASupprimer = l
                    Exit For
                End If
            Next
    
            If Not labelASupprimer Is Nothing Then
                Controls.Remove(labelASupprimer)
            Else
                MsgBox("Pas trouvé...")
            End If

    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

    • Proposé comme réponse Aurel Bera vendredi 13 décembre 2013 08:35
    • Marqué comme réponse vdom vendredi 13 décembre 2013 09:02
    vendredi 13 décembre 2013 01:12
    Modérateur