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 :

Lenteur lors du renommage de TextBox


Sujet :

VB.NET

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 132
    Points : 63
    Points
    63
    Par défaut Lenteur lors du renommage de TextBox
    Bonjour le Forum,

    Je dois renommer plus d'une centaine de TexBox, le problème c'est que VisualStudio bloque l'appli pendant environ 30 secondes avant de renommer la TextBox, et quelques fois il n'y a aucun blocage, le renommage se fait instantanément.

    Avez-vous une idée d'où cela pourrait venir ?

    Merci pour votre aide.

  2. #2
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Bonjour,

    Je ne sais pas ce qui provoque cette lenteur mais ce n'est sûrement pas le "renommage", le problème devrait alors apparaitre pour chacune.

    L'événement choisi pour lancer le renommage peut avoir de l'importance, de même que la façon d'écrire la boucle de parcours de toutes les TextBox.

    Peut-être qu'on pourrait mieux comprendre avec la code qui concerne ces TextBox.

    ...

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 132
    Points : 63
    Points
    63
    Par défaut
    Bonjour, Phil Rob
    Les TexBox viennent d'être créées, elles n'apparaissent donc pas dans le code, je passe par propriétés (Name) du concepteur pour le renommage, rien de particulier.

    Cette lenteur est pratiquement systématique, rare sont les fois ou cela fonctionne "instantanément", j'ai essayer de relancer le projet, ou encore de tester sur une autre Form, en gros, quant ça veut pas ça veut pas...

  4. #4
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Je ne comprends pas très bien, cela se produit quand tu changes la propriété Name dans la fenêtre des propriétés ?
    Cela signifie que tu veux nommer "manuellement" une centaine de TextBox ?
    Quels sont les noms de quelques-unes ? Il doit bien y avoir moyen de les faire renommer par le code dans le Form_Load.
    Autre approche, un tableau de TextBox auxquelles tu accéderais par les indices ne te conviendrait-il pas ?
    ...

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 132
    Points : 63
    Points
    63
    Par défaut
    Citation Envoyé par Phil Rob
    Je ne comprends pas très bien, cela se produit quand tu changes la propriété Name dans la fenêtre des propriétés ?
    Oui, cela se produit suite au changement du nom dans la fenêtre des propriétés, chaque modification entraine un blocage de 30 secondes environ de Visual

    Exemple de nom T60A2, T60A3, ou encore R24B1, R24B2

  6. #6
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Dans ce cas, je ne vois que 2 possibilités :
    • VisualStudio s'est "surchargé" (ou corrompu) et il ne guère plus correctement son usage de la mémoire;
    • Trop d'applications tournent par ailleurs sur le système (éventuellement en arrière plan) et il ne reste pas assez de mémoire pour VS.

    Solutions : réinstaller VS, arrêter les tâches d'arrière plan inutiles, ...
    Peut-être quelqu'un pourra proposer d'autres options ...

    Quoiqu'il en soit, une révision de l'algorithme qui permettrait au programme de renommer correctement ses TextBox serait sans doute une bonne solution. Je n'imagine pas un programmeur nommer spécifiquement des composants déposés par dizaines sur un Form, il faut trouver le moyen d'automatiser...

  7. #7
    Membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 132
    Points : 63
    Points
    63
    Par défaut
    Je pense que le Form est trop "lourd", le code dépasse les 25000 lignes, à chaque nommage de Texbox VS parcourt tout le code pour chercher la Textbox à renommer, il doit y avoir un moyen pour qu'il ne parcourt pas le code je vais chercher.

    J'ai trouvé une solution temporaire, je crée un nouveau form , je copie les Textbox à renommer, avec cette méthode je gagne pas mal de temps.

    Sinon lorsque je code à part Internet qui est en tache de fond avec l'Antivirus il n'y a rien d'autre, il reste pas mal de Ram dispo, et le DD est un SSD.

  8. #8
    Membre émérite Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Points : 2 865
    Points
    2 865
    Par défaut
    Ok, là je crois que tu mets le doigt sur le problème, au moins en partie.
    Et en supposant que les 25000 lignes de codes soient toutes nécessaires et optimales, je ne vois pas comment ôter ce problème.
    Mais je reviens avec cette idée : ne peux-tu trouver une logique programmable de dénomination des TextBox ?
    Et est-ce bien nécessaire de nommer "pertinemment" tant de TextBox, à part le programmeur, personne ne peut connaitre ces noms de TextBox et je plains le programmeur s'il doit gérer distinctement les événements de chacune. Attention que si (par exemple) il faut écrire autant de procédures événementielles CetteTextBox_TextChanged(... ), ça fait vite quelques centaines de lignes en plus ...

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Bonjour,

    Essaie aussi de mettre à true la propriété DoubleBuffered dans la section Comportement de ta Form.

    Moi j'avais plusieurs images à afficher dans une Form, et cela m'a bien accéléré mon programme.

    A+ bonne journée

  10. #10
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    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 154
    Points : 25 072
    Points
    25 072
    Par défaut
    on ne pose pas 100 textbox à la main, on écrit 15 lignes de code qui s'en occupent, c'est un gain de temps et c'est beaucoup plus évolutif
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  11. #11
    Membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 132
    Points : 63
    Points
    63
    Par défaut
    Bonjour,
    @Phil Rob
    Oui, la plupart des calculs sont sous des "TextChanged" difficile de faire autrement.

    @hypermc
    Je suis d'accord, DoubleBuffered redonne du souffle à l'appli, mais dans mon cas il est déjà actif.

    @Pol63
    J'ai pris cette habitude de poser les Texbox par le concepteur, je vais essayer de les créer en passant par le code

    Je suis entrain de réduire mon code "dans les limites de mes connaissances"

    Merci pour votre aide.

  12. #12
    Membre habitué Avatar de excalybur
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Novembre 2014
    Messages
    305
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Conseil

    Informations forums :
    Inscription : Novembre 2014
    Messages : 305
    Points : 181
    Points
    181
    Par défaut
    J'ai vu que tu as résolue le problème, comment? Simplement en réduisant le code ?

    Il serait intéressant que tu nous donne un exemple simplifié de ton mode de calcul et l'interaction avec TextChanged car je pense que l'on peut peut être l'écrire autrement.
    La Connaissance est comme le rire elle est contagieuse en la partageant!

  13. #13
    Membre du Club
    Homme Profil pro
    Technicien
    Inscrit en
    Juillet 2020
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Juillet 2020
    Messages : 132
    Points : 63
    Points
    63
    Par défaut
    Bonjour excalybur,

    Certaines des Textbox étaient cachées , elles me servaient pour les calculs intermédiaires, j'ai pris le temps et je les ai remplacé par des variables, j'ai gagné du "temps processeur" et les form sont moins chargées.

    Voila.

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

Discussions similaires

  1. Lenteur lors de la 1ère génération
    Par KpTn dans le forum BIRT
    Réponses: 1
    Dernier message: 28/07/2006, 15h36
  2. Réponses: 7
    Dernier message: 08/12/2005, 17h37
  3. Lenteur lors de la lecture d'une base Access
    Par Lio590 dans le forum Bases de données
    Réponses: 6
    Dernier message: 16/11/2005, 12h24
  4. lenteur lors de mes insert into
    Par shiners300 dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 19/09/2005, 13h49
  5. Lenteur lors d'une insertion (sql server)
    Par shiners300 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 16/09/2005, 09h09

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