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 :

[VB.Net]SuspendLayout ResumeLayout


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par défaut [VB.Net]SuspendLayout ResumeLayout
    Framework 1.1

    Citation Envoyé par MSDN
    La logique de présentation du contrôle est suspendue jusqu'à l'appel de la méthode ResumeLayout.

    Les méthodes SuspendLayout et ResumeLayout sont utilisées en tandem pour supprimer les événements Layout multiples lorsque vous ajustez plusieurs attributs du contrôle. Par exemple, vous appelez généralement la méthode SuspendLayout puis définissez les propriétés Size, Location, Anchor ou Dock du contrôle et appelez ensuite la méthode ResumeLayout pour que les modifications prennent effet.

    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
    [Visual Basic] 
    Private Sub AddButtons()
       ' Suspend the form layout and add two buttons.
       Me.SuspendLayout()
       Dim buttonOK As New Button()
       buttonOK.Location = New Point(10, 10)
       buttonOK.Size = New Size(75, 25)
       buttonOK.Text = "OK"
     
       Dim buttonCancel As New Button()
       buttonCancel.Location = New Point(90, 10)
       buttonCancel.Size = New Size(75, 25)
       buttonCancel.Text = "Cancel"
     
       Me.Controls.AddRange(New Control() {buttonOK, buttonCancel})
       Me.ResumeLayout()
    End Sub
    J'ai fait des tests et je ne vois aucune différence.
    A quoi ça sert vraiment ?
    Me disant que l'exemple fournit par la msdn était trop petit pour noter une différence j'ai essayé avec un ajout et un replacement de 600 textboxs à la suite..
    Que dalle, avec ou sans les lignes de layout je ne vois pas de différence du tout.

    Et même si fais un suspendlayout et que je ne remet pas resumelayout, ça m'affiche quand même les texboxs à la bonne place..

    Enfin je pense que j'ai mal compris l'utilité de ces methodes ?
    Quelqu'un l'utilise et peut m'expliquer à quoi ça lui sert ?

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    487
    Détails du profil
    Informations personnelles :
    Âge : 56
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 487
    Par défaut
    L'intérêt est de ne pas calculer les tailles et positions de tous les contrôles avant qu'on ait fini de les créer.
    Si ils sont indépendants comme à priori des textbox, ça ne change rien.
    C'est au contraire très important si on utilise beaucoup de conteneurs ou de contrôles dont les positions sont gérées avec Dock et Anchor puisque la taille et position de chacun dépend de celle des autres.

  3. #3
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par défaut
    je crois comprendre.
    mais l'exemple de la msdn est vraiment mal choisit alors ?

  4. #4
    Membre Expert
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Par défaut
    Super-mal choisi!!!

    Addrange fait suspend/resume layout en interne

    Vaut mieux plutot imaginer que t'ajoute deux panels dockés dans une form remplie de panels dockés et anchorés (ca evite de tout redessiner a l'ajout de chaque controle)

  5. #5
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Par défaut
    capich !

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

Discussions similaires

  1. [Débat] Technologie .NET vs JAVA
    Par neo.51 dans le forum Débats sur le développement - Le Best Of
    Réponses: 1047
    Dernier message: 14/01/2019, 16h15
  2. [Débat] Expériences au sujet de .NET
    Par DevX dans le forum Débats sur le développement - Le Best Of
    Réponses: 46
    Dernier message: 25/05/2014, 11h16
  3. A ceux qui ont migré de VB6 vers VB.Net
    Par Fox dans le forum VB 6 et antérieur
    Réponses: 81
    Dernier message: 21/05/2008, 14h56
  4. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  5. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    Réponses: 5
    Dernier message: 05/04/2002, 09h45

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