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 :

VB.net "ShowDialog" et "Close"


Sujet :

VB.NET

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 164
    Points
    164
    Par défaut VB.net "ShowDialog" et "Close"
    Bonjour,

    J'utilise l'instruction "showdialog" pour générer des petites fenêtres personnalisée.
    Je les ferme avec ".close" mais je me rends compte que cette instruction ne rétablit pas les propriété des controles contenus sur ces fenêtre :

    Par exemple, si un textbox est par défaut sur enabled=false, que j'active ce textbox puis ferme la fenêtre, ce textbox sera toujours en enabled=true si je rouvre la fenêtre...

    Comment donc retrouver le paramétrage par défaut ?

    Merci bien.

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par House MD Voir le message
    Comment donc retrouver le paramétrage par défaut ?
    Soit tu code une fonction "Reset" qui remet toutes les valeurs par défaut, soit tu recrées à nouveau la fenêtre plutôt que d'utiliser la fenêtre existante ...

  3. #3
    Membre actif Avatar de tssi555
    Analyse système
    Inscrit en
    Juillet 2008
    Messages
    594
    Détails du profil
    Informations professionnelles :
    Activité : Analyse système

    Informations forums :
    Inscription : Juillet 2008
    Messages : 594
    Points : 295
    Points
    295
    Par défaut
    Sinon, utilise .hide au lieu de .close si ca n'embête pas ta méthodologie de travail. Comme ca ta fenêtre gardera les ses propriété lors du prochain appel.

  4. #4
    Membre actif
    Avatar de Hatchepsout
    Inscrit en
    Octobre 2006
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 170
    Points : 222
    Points
    222
    Par défaut
    Citation Envoyé par smyley Voir le message
    Soit tu code une fonction "Reset" qui remet toutes les valeurs par défaut, soit tu recrées à nouveau la fenêtre plutôt que d'utiliser la fenêtre existante ...
    je suis pour la premier solution et tu le mettre dans Formclosed

    ++

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 177
    Points : 25 125
    Points
    25 125
    Par défaut
    réinstancier c'est ptete plus simple quand meme ...

  6. #6
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par sperot51 Voir le message
    réinstancier c'est ptete plus simple quand meme ...
    En effet, c'est la solution que j'adopte toujours pour mes projets. De toute façon lorsque la mémoire utilisée par les forms grandit trop le GC passe, et ce n'est pas une mauvaise pratique vu que des fenêtres on en crée pas 1000 à la seconde ...

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    306
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 306
    Points : 164
    Points
    164
    Par défaut
    Effectivement la réinstanciation est le plus simple, mais niveau mémoire, la précédente instanciation est flushée ou elle reste quelquepart ?

    Merci

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par House MD Voir le message
    Effectivement la réinstanciation est le plus simple, mais niveau mémoire, la précédente instanciation est flushée ou elle reste quelquepart ?
    A moins que tu aies gardé une référence sur la form, elle sera "ramassée" par le garbage collector quand le système voudra récupérer la mémoire inutilisée

  9. #9
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par House MD Voir le message
    Effectivement la réinstanciation est le plus simple, mais niveau mémoire, la précédente instanciation est flushée ou elle reste quelquepart ?

    Merci
    La précédente instance reste en mémoire le temps que le GC passe ... ce qui à l'échelle humaine représente une dizaine de secondes ... pour une boucle c'est vraiment beaucoup mais pour des fenêtres ça peut aller ...

  10. #10
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par smyley Voir le message
    ce qui à l'échelle humaine représente une dizaine de secondes ...
    euh, t'es sûr ? il me semblait que c'était beaucoup plus long en général.
    enfin de toutes façons, ça dépend si le système a besoin de plus de mémoire ou pas...

  11. #11
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Citation Envoyé par tomlev Voir le message
    euh, t'es sûr ? il me semblait que c'était beaucoup plus long en général.
    En gros quand tu augmente la mémoire requise régulièrement le GC passe toutes les 10 secondes.D'ailleurs ça se vois bien quand on traque la mémoire utilisée par le programme : on obtiens un graph en dent de scie avec un maximum toutes les 5-10 s. Après si c'est juste une fenêtre qui traine et que le système n'a pas besoin de plus de mémoire, ça peut bien faire plusieurs minutes sans passages. Je précise ces observations sont empiriques donc bon ...
    Citation Envoyé par tomlev Voir le message
    enfin de toutes façons, ça dépend si le système a besoin de plus de mémoire ou pas...
    Mais justement voilà, une fenêtre ça pèse pas bien lourd et vu qu'on en crées pas 10000 à la seconde (comme pour un traitement lourd qui crées beaucoup d'instances d'objets) ça n'a pas grande importance, le GC va la néttoyer s'il le faut de toute façon.

  12. #12
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Points : 1 051
    Points
    1 051
    Par défaut
    Je préfère créér une nouvelle fenêtre pour la simple et bonne raison que si tu rajoutes des champs dans le futur, il faudra vraisemblablement penser à mettre la méthode Reset() à jour. C'est le genre de chose qu'on oublie facilement.

Discussions similaires

  1. .my_kshrc[25]: no closing quote
    Par esipage dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 04/09/2012, 12h28
  2. [VB6>VB.NET] Comment coder "break on all errors"
    Par RiiiDD dans le forum VB.NET
    Réponses: 5
    Dernier message: 07/03/2006, 12h53

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