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 :

on loaded event


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut on loaded event
    Bonjour,
    Alors voila, la question peut sembler idiote mais je plante dessus depuis des heures.

    J'ai un programme fait d'une Form1 et d'autre methodes et classes qui representent la fonction de mon programme.

    Cependant, je n'ai pas trouvé de moyen pour faire en sorte que ces fonctions la ne commencent qu'après que la joli forme soit TOTALEMENT Visible (pas de page blanche).
    L'idéal serait un OnLoaded event, mais cela n'existe pas, et la j'ai beau etre un noob MS a raté mais alors la gros !

    Quelles sont vos petites tactics pour venir a bout de ca?

    Pour info, un autre membre du forum m'a conseiller de le mettre dans le constructeur de la forme, mais cela ne marche pas comme ca car mon code s'exécute, et vient après ma chtite fenetre

    j'ai essayé de le mettre dans un des event de mon web browser mais cela crée une itteration Trés importante (tout mon code qui se retape pour rien)

    Merci

  2. #2
    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 : 44
    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
    Par défaut
    Il y a bien un évènement Load (et la méthode OnLoad correspondante), mais il est déclenché avant que la form ne soit visible.

    Par contre tu peux utiliser l'évènement Shown, qui se produit quand la form devient visible. Attention, il se produit à chaque fois que la form devient visible (par exemple si elle est cachée et montrée de nouveau), donc si le code dans l'évènement ne doit être exécuté qu'une fois, pense à mettre un flag pour le gérer

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut
    On Shown se produit quand la composant FROM1 est visible, ce qui ne m'intéresse pas puisque ca commence Avant que mes autres composant soit visible.

    c'est quoi un flag ?

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Citation Envoyé par F.Saad Voir le message
    c'est quoi un flag ?
    Une valeur style un bool qu'on teste pour savoir si on passe dans le code ou pas.

  5. #5
    Membre Expert
    Homme Profil pro
    Inscrit en
    Juillet 2007
    Messages
    1 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Réunion

    Informations forums :
    Inscription : Juillet 2007
    Messages : 1 277
    Par défaut
    Tu pourrais juste lancer les actions à exécuter au démarrage de ta Form dans un nouveau thread. Ainsi, le thread interface graphique continuerait à charger ta Form et l'afficher (au lieu d'afficher un écran blanc le temps que les actions à exécuter au démarrage soient terminées).

  6. #6
    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 : 44
    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
    Par défaut
    Citation Envoyé par F.Saad Voir le message
    On Shown se produit quand la composant FROM1 est visible, ce qui ne m'intéresse pas puisque ca commence Avant que mes autres composant soit visible.
    Ben quand la form devient visible, les contrôles qui sont dessus sont visibles aussi...

    Citation Envoyé par F.Saad Voir le message
    c'est quoi un flag ?
    C'est une variable ou un champ de type bool qui sert d'indicateur. En l'occurrence, tu le mettrais à true pour dire "ça y est, j'ai déjà exécuté ce traitement"

    Mais en fait en regardant la doc je réalise que j'ai dit une bêtise : l'évènement Shown n'est déclenché qu'une seule fois, la première fois que la form est affichée. Donc au final le flag ne sert à rien en l'occurrence...

    EDIT: en relisant ta question, je crois comprendre ce que tu veux (bien que l'explication soit vraiment pas claire ) : tu as un WebBrowser, et tu voudrais savoir quand il a fini de charger la page web qu'il affiche ? Dans ce cas c'est l'évènement DocumentCompleted

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut
    Citation Envoyé par tomlev Voir le message
    Ben quand la form devient visible, les contrôles qui sont dessus sont visibles aussi...



    C'est une variable ou un champ de type bool qui sert d'indicateur. En l'occurrence, tu le mettrais à true pour dire "ça y est, j'ai déjà exécuté ce traitement"

    Mais en fait en regardant la doc je réalise que j'ai dit une bêtise : l'évènement Shown n'est déclenché qu'une seule fois, la première fois que la form est affichée. Donc au final le flag ne sert à rien en l'occurrence...

    EDIT: en relisant ta question, je crois comprendre ce que tu veux (bien que l'explication soit vraiment pas claire ) : tu as un WebBrowser, et tu voudrais savoir quand il a fini de charger la page web qu'il affiche ? Dans ce cas c'est l'évènement DocumentCompleted
    J'ai essayé le Document Completed, seulement cela se produit deux fois, car
    RE: mes problemes d'opacités j'ai du bidouiller du CSS dans un iframe pour avoir un effet similaire a celui ci
    juste que moi, j'avais poussé encore plus avec un background dynamique qui change donc un simple découpage comme eux n'aurait servis a rien.
    donc comme je l'ai dit, le Document Completed ou Navigate se produit deux fois.

    je vais voir du coté des threads

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 32
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 192
    Par défaut
    Alors c'est Résolu Grace au threads, quelle mini révolution personnelle technique !!
    Sinon, j'ai rien compris a cette histoire d'invoke (de la magie ? FF? )
    donc j'ai enlever le CheckForIllegalCross Threading operation :X
    (oui j'ai triché )

  9. #9
    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 : 44
    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
    Par défaut
    Citation Envoyé par F.Saad Voir le message
    J'ai essayé le Document Completed, seulement cela se produit deux fois, car
    Car quoi ?
    Peut-être que la 1e page sur laquelle tu arrives fait une redirection : dans ce cas il charge la nouvelle page, ce qui provoque un 2e DocumentCompleted

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

Discussions similaires

  1. Tracer un trait à l'event 'load' par-dessus un contenu HTML.
    Par Sephiroth66 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 03/02/2012, 20h00
  2. [Prototype] Recharger Event.observe(window, 'load') après une requête
    Par durnambule dans le forum Bibliothèques & Frameworks
    Réponses: 4
    Dernier message: 12/11/2009, 11h00
  3. Event Shown ou Load
    Par olibara dans le forum C#
    Réponses: 2
    Dernier message: 24/03/2009, 10h07
  4. [C#][1.1]Load avant event ?
    Par Monstros Velu dans le forum ASP.NET
    Réponses: 4
    Dernier message: 22/06/2006, 19h06
  5. [C#] Problème d'affichage d'une fenêtre (event Load)
    Par PB-W dans le forum Windows Forms
    Réponses: 3
    Dernier message: 10/03/2006, 13h48

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