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

VB.NET Discussion :

Ne pas actualiser les Controles durant l'exécution du code ?


Sujet :

VB.NET

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut Ne pas actualiser les Controles durant l'exécution du code ?
    Bonjour,

    Existe-il un moyen de ne pas actualiser les controles d'un formulaire durant l'exécution du code ?

    En gros je cherche l'équivalent du 'DoCmd.echo False' que l'on a en VBA et qui masque notamment le remplissage des contrôles.

    Merci par avance pour vos réponses

  2. #2
    Membre confirmé
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Par défaut
    Salut
    est ce que quelque chose du style t'aiderai?
    Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    MyControl.suspendLayout
    'traitement
    MyControl.resumeLayout
    MyControl.performLayout

    Dom

  3. #3
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Oui avec certains controles (listbox, listview, treeview...) tu as deux méthodes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Controle.BeginUpdate
    'ton code ici'
    Controle.EndUpdate
    ++
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut
    Merci pour vos réponses.

    J'ai testé BeginUpdate/EndUpdate sur un listView, et cela fonctionne très bien, on ne voit plus l'ajout progressif de chaque item avec le mouvement de l'ascenceur. L'objectif de gagner en performance et d'avoir un affichage plus rapide est atteint.

    Par contre, je n'ai pas trouvé de méthodes similaires pour un DataGridView. Les méthodes SuspendLayout/ResumeLayout n'ont pas d'effet.

  5. #5
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 202
    Par défaut
    suspendlayout sert en cas de resize ou de move d'un objet

    tu le remplis avec quoi ton datagridview ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  6. #6
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 25
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    suspendlayout sert en cas de resize ou de move d'un objet

    tu le remplis avec quoi ton datagridview ?
    J'ai deux méthodes en fonction du DataGridView :
    Pour le premier :
    DGV.Rows.Clear()
    Puis par itération,
    DGV.Rows.Add(aData.ToArray)

    Pour le deuxième :
    DGV.DataSource = oDataSet.Tables("Ma_Table")

    Sinon merci pour le lien, si j'ai bien compris il ne semble pas y avoir de solutions simples.

  8. #8
    Membre confirmé
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    110
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2005
    Messages : 110
    Par défaut
    Salut
    bon j me suis fourvoyé avec suspendLayout
    quant à remplir les DGV je fais plutot ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    minDGV.datasource = uneBindingSource
    de tête BindingSource a beginEdit et endEdit. auquel cas tu pourrais avoir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    uneBindingSource.beginEdit
    ' code qui modifie la collection
    uneBindingSource.endEdit
    si ces 2 métodes te donnent l'effet escompté.

    Je croyais que endEdit envoyait les changements du gui à la liste sous-jacente, mais au temps pour moi

    Dom

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

Discussions similaires

  1. Control file : ne pas spécifier les champs
    Par cypmaster dans le forum Import/Export
    Réponses: 7
    Dernier message: 11/07/2008, 13h59
  2. les controles n'apparaissent pas dans la fenetre
    Par barrada dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 13/12/2007, 10h02
  3. [AJAX] les pages php ne s'actualisent pas avec les XMLHttpRequest
    Par Ceubex dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 14/08/2007, 12h22
  4. Réponses: 6
    Dernier message: 22/06/2007, 10h50
  5. Macro, mais les evenements ne s'exécutent pas tous
    Par polianita dans le forum Access
    Réponses: 2
    Dernier message: 02/06/2006, 16h53

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