IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

Suppression de controle


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 58
    Points
    58
    Par défaut Suppression de controle
    Voila en fait je crée des textbox dynamiquement.
    Pour chaque valeur d'un tableau cela me crée une textbox portant le nom
    Box & valeur
    donc la valeur chanque constament.


    Maintenant je voudrais pouvoir supprimer d'une part toutes les textbox d'autre part une par une.

    Je suppose qu'en supprimant un element du tableau, mon formulaire rechargera en fonction des éléments du tableau et donc la textbox sera effacer, et l'affichage sera correct (au lieu que je me retrovuerais avec un espace libre)

    Mais comment supprimer toutes les textbox présente sur ma form a la fermeture de celle ci?
    je voudrais que les textbox soit généré en fonction de mon tableau a chaque ouverture de celui ci.

    voici le code qui me genere mes textbox dynamiquement en fonction d'un tableau

    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    Imports System.IO
     
    Public Class Rappels
     
        Dim lecture As String
        Dim tabrappels As String()
        Dim box As TextBox
        Dim checkbox As CheckBox
     
        Sub Lire_Fichier_Rappels()
     
            Dim srrappels As StreamReader = File.OpenText("\My Documents\aip_ressources\Rappels.txt")
     
            Dim fichier As String
     
            Do
     
                fichier = srrappels.ReadToEnd
     
                If Not fichier Is Nothing Then
     
                    tabrappels = fichier.Split(",")
                    srrappels.Close()
                    Dim i As Integer
     
                    For Each valeur As String In tabrappels
                        '
                        If valeur = "" Then
                        Else
                            i = i + 1
                            Dim SR As StreamReader = File.OpenText("\My Documents\aip_ressources\Rappels\" & valeur & ".txt")
                            lecture = SR.ReadToEnd
     
                            box = New TextBox
                            box.Name = "Box" & valeur
     
     
                            box.Multiline = True
                            box.ReadOnly = True
                            box.ScrollBars = System.Windows.Forms.ScrollBars.Vertical
                            box.Size = New System.Drawing.Size(234, 38)
     
                            box.Left = 20
                            box.Top = i * 40
                            box.Width = 200
                            box.Text = lecture
                            Me.Controls.Add(box)
     
                            SR.Close()
                        End If
     
     
                    Next
                    Exit Do
                End If
     
     
            Loop Until fichier Is Nothing
     
     
     
        Private Sub Rappels_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Activated
            Lire_Fichier_Rappels()
        End Sub
    PS:j'ai essayé comme cela
    Me.Controls.Remove(box)
    Mais j'arrive pas a le faire pour plusieurs box dynamique.

    Un peu d'aide serait la bienvenue...

    merci d'avance

  2. #2
    Membre averti
    Avatar de Cyrilange
    Profil pro
    Inscrit en
    Février 2004
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 268
    Points : 338
    Points
    338
    Par défaut
    Peut être comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For Each tb As Control In Me.Controls
                If tb.GetType Is GetType(TextBox) Then
                    Me.Controls.Remove(tb)
                End If
    Next

  3. #3
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 104
    Points : 58
    Points
    58
    Par défaut
    Citation Envoyé par Cyrilange Voir le message
    Peut être comme ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    For Each tb As Control In Me.Controls
                If tb.GetType Is GetType(TextBox) Then
                    Me.Controls.Remove(tb)
                End If
    Next
    Merci c'est exactement ce dont j'avais besoin

  4. #4
    Membre actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Septembre 2003
    Messages
    399
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Septembre 2003
    Messages : 399
    Points : 259
    Points
    259
    Par défaut
    Le for each est dangereux à utiliser lors d'une suppression.
    lors de la suppression l'index des éléments et récalculer immédiatement.

    ex:
    un tableau de 3 objets

    avec un for each si tu supprimes l'élément 1 , l'élément 2 va descendre d'un cran mais ton curseur lui pas passer au rang suivant c'est à dire au 3e élément.
    donc l'élément 2 ne sera jamais traiter, etc...

    donc lors d'une suppression il vaut mieux faire une boucle for i

    ex :

    for i = Maliste.count-1 to 0 step -1

    next i

    et là tous les éléments sont traité

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2003] Suppression de controles incompléte
    Par AndréPe dans le forum IHM
    Réponses: 2
    Dernier message: 18/01/2010, 09h44
  2. Réponses: 1
    Dernier message: 03/04/2007, 21h27
  3. [VBA]suppression de controle ne marche pas
    Par celiaaa dans le forum VBA Access
    Réponses: 2
    Dernier message: 03/04/2007, 15h05
  4. [Oracle 10g] Controle de suppression
    Par maximus001ma dans le forum Oracle
    Réponses: 6
    Dernier message: 29/08/2006, 19h33
  5. [MySQL] Suppression avec contrôle de lien inter-tables
    Par lodan dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 29/07/2006, 17h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo