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 :

Aide sur WindowState [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant en 3e année de Licence Informatique
    Inscrit en
    Novembre 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant en 3e année de Licence Informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 61
    Par défaut Aide sur WindowState
    Bonjour,
    Je voudrais faire en sorte que quand l'utilisateur clique sur le bouton "réduire" d'un formulaire, celui-ci ce cache.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim reduit As Boolean = False
            While reduit = False
                If Me.WindowState = FormWindowState.Minimized Then
                    MsgBox("Fonctionne !")
                    reduit = True
                    Me.Hide()
                End If
            End While
        End Sub
    Pourtant au lancement de l'application, rien ne s'affiche, même pas la MsgBox !
    Il y a t'il un moyen de réglé ce problème ?
    Merci !

  2. #2
    Membre Expert
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Billets dans le blog
    7
    Par défaut
    Citation Envoyé par Oromis56 Voir le message
    Bonjour,
    Je voudrais faire en sorte que quand l'utilisateur clique sur le bouton "réduire" d'un formulaire, celui-ci ce cache.
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Dim reduit As Boolean = False
            While reduit = False
                If Me.WindowState = FormWindowState.Minimized Then
                    MsgBox("Fonctionne !")
                    reduit = True
                    Me.Hide()
                End If
            End While
        End Sub
    Pourtant au lancement de l'application, rien ne s'affiche, même pas la MsgBox !
    Il y a t'il un moyen de réglé ce problème ?
    Merci !
    Bonsoir,

    Il faut un minimum aiguiser son bons sens lorsqu'on souhaite se lancer dans la programmation !

    Avant de vouloir coder quoique ce soit, il faut savoir rédiger textuellement ce que l'on souhaite obtenir comme résultat, et pourtant ta 1ère phrase semble assez clair alors que ta 2ème est complètement contradictoire et ton code est pour autant incohérent !

    Sais-tu seulement qu'il existe des gestionnaires d’événement pour chaque objet que tu souhaites manipuler dans un programme et qu'ils apparaissent dans ton EDI sous forme de liste ?

    Ensuite il t'appartient avec "un minimum de bon sens" de choisir dans cette liste quel événement te sera utile lorsque l'utilisateur réduira la fenêtre de ton programme et donc dans quel corps de gestionnaire placer ta messageBox (la pratique de l'anglais n'est absolument pas optionnelle non plus !).

    Brefff : "Resize" devrait te mettre sur la voie !

    Pourquoi je te parle de bon sens car dans ton énoncé l'utilisateur clique sur le bouton réduire alors pourquoi tu places ta mesageBox dans le gestionnaire d’événement "Load" (qui veut dire chargement en anglais)....... Le pifomètre n'a pas sa place en programmation !

    PS: tu peux mettre ta messagebox dans l'event Activated ou Load mais dès lors que tu places cette portion cela n'a aucun sens :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Me.WindowState = FormWindowState.Minimized Then
     
    End if
    Littéralement tu es en train de demander cela à ton programme :

    1- Au chargement de la fenêtre de mon programme (=Form.Load)
    2- Si l'état de ma fenêtre est diminuée alors afficher la messageBox

    Tu crois vraiment qu'au chargement de ta form l'état de ta fenêtre est diminuée ?????

    Poses-toi les bonnes questions avant de coder des trucs aussi improbables...


    Bonne continuation A+

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant en 3e année de Licence Informatique
    Inscrit en
    Novembre 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant en 3e année de Licence Informatique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 61
    Par défaut
    Tout d'abord je te remercie des conseils données dans ta réponse,
    pour te répondre, j'ai bien fais des recherches du côté des événements : je suis allé voir sur le site de microsoft (https://msdn.microsoft.com/fr-fr/lib...=vs.110).aspx) pour me renseigné sur les différents événements disponibles pour un formulaire. J'ai bien remarqué l'évenement "resize" et lut ça description dont j'en ai conclut que l'agrandir ou le rétrécir déclencherai le code, ce qui n'est pas voulut (Ce que je n'est pas vérifié, là fut mon erreur). Après quelques autres recherches internet je suis tombé sur ceci : http://www.developpez.net/forums/d10...orm-reduction/ qui m'amena à me servir du fameux WindowState. Le problème c'est que je n'ai pas sus où le mettre (d'où mon poste sur ce forum) !

    Après avoir essayé le resize, tout fonctionne à merveille ! Juste le problème de l'agrandissement et du redimensionnement manuel qui cache le programme.

    Edit : En me servant d'une condition et du WindowState, j'ai réussis à corriger le problème énoncé ci-dessus.
    Voici le code pour ceux qui sont dans le même problème que moi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Private Sub Form1_Resize(sender As Object, e As EventArgs) Handles Me.Resize
            If Me.WindowState = FormWindowState.Minimized Then
                Me.Hide()
            End If
        End Sub
    En tout cas je te remercie de ton aide et du temps que tu as bien voulut prendre pour m'expliquer mon erreur !
    Bonne continuation à toi aussi !

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

Discussions similaires

  1. demande d'aide sur samba
    Par marcoss dans le forum Développement
    Réponses: 5
    Dernier message: 04/12/2003, 19h38
  2. [CR] besoin d'aide sur les formules
    Par GuillaumeDSA dans le forum Formules
    Réponses: 4
    Dernier message: 10/07/2003, 12h19
  3. Réponses: 2
    Dernier message: 27/02/2003, 01h33
  4. [Kylix] Aide sur BitBlt
    Par mic006 dans le forum EDI
    Réponses: 1
    Dernier message: 10/12/2002, 22h54
  5. Aide sur une fenetre
    Par Ray-j dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 29/11/2002, 08h51

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