Une autre erreur? (Programmation Visual Basic) [Résolu]

Signaler
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020
-
Messages postés
20
Date d'inscription
samedi 3 août 2019
Statut
Membre
Dernière intervention
15 mai 2020
-
Selon moi, il y a une erreur non? J'ai écrit pour que le logiciel reste en arrière plan et, Visual Studio écrit que "e.Cancel = True" est une erreur. Quelqu'un peut m'aidez? Merci d'avance!

Public Class Accueil
    Dim closeForm As Boolean = False
    Private Sub Accueil_Load(sender As Object, e As EventArgs) Handles MyBase.FormClosing
        If (closeForm = False) Then
            e.Cancel = True
            Me.Hide()
            Me.WindowState = FormWindowState.Minimized
            Notif.ShowBallonTip(500, "Exécution", "Nous sommes toujours en cours d'exécution. Cliquez sur le bouton dans la barre des tâches pour réouvrir le logiciel.", ToolTipIcon.Info)
        End If
    End Sub
End Class

7 réponses

Messages postés
12666
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2020
703
bonjour, n'as-tu pas un message d'erreur plus précis?
as-tu vérifié si Cancel était une propriété du type EventArgs?
que penses-tu obtenir avec cette ligne de code?
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020
1
Voila une capture d'écran que j'ai pris. J'espère quelle vous seras utile!
Messages postés
12666
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2020
703
et si tu supprimes la ligne
 e.Cancel = True
?
pourquoi as-tu ajouté cette ligne, à quoi penses-tu qu'elle serve?
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020
1 >
Messages postés
12666
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2020

Pour annuler la fermeture?
Messages postés
12666
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2020
703 >
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020

il me semble que ton code s'occupe de l'ouverture, pas de la fermeture.
Messages postés
14878
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 octobre 2020
594 >
Messages postés
12666
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2020

Non sa méthode est bien abonnée à l'évenement FormClosing, c'est juste la signature qui n'est pas bonne.
Mais tant qu'il ne sera pas aller lire l'aide en ligne, il ne pourra pas voir pourquoi.
Messages postés
14733
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 octobre 2020
256
Private Sub Accueil_Load(sender As Object, e As EventArgs) Handles MyBase.FormClosing 


FormClosing a une signature spécifique, différente (mais compatible) de Load.
Utilise le bon prototype de gestionnaire d'événement.
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020
1
Le quelle tu crois et comment accédez au gestionnaire? Merci d'avance!
Messages postés
14878
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 octobre 2020
594
Bonjour

j'ai essayé ton code, avec l'exe compilé, pas avec VS, car avec VS c'est pas vraiment l'exe.

Dans un premier temps, en commentant la ligne de notification (j'avais pas mis de NotifyIcon dans mon winform de test) et tout c'est bien passé.

Ensuite, j'ai ajouté un NotifyIcon, que j'ai appelé Notif.
Là j'ai une erreur de précompilation, la méthode ShowBallonTip n'existe pas, c'est ShowBalloonTip

Une fois ceci corrigé ça marche aussi, enfin, je ne voie pas le ballon et je n'ai pas de bouton dans la barre des taches (il me semble qu'avec Hide c'est normal), j'ai donc du arrêter le logiciel avec le gestionnaire des taches.

Donc même si ça ne fait pas exactement ce que tu décris dans ton ballon, y'a pas d'erreur.

Donc, il nous faudrait plus d'infos, le message d'erreur exact par exemple, ainsi que le contenue des variables au moment où ça plante (avec des espions).

Aussi, pourquoi, y avait il une erreur dans le nom de méthode ShowBalloonTip, aurais tu écris ton propre système de notification, auquel cas, ne serait pas dans ce sytème qu'il y aurait une erreur?
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020
1
Bonjour Wishmeril,

pour le "showTipBalon", c'est juste que j'ai du le recopier à la main car il est sur un autre ordinateur (Visual Studio) et j'ai surement oublier le "o" mais, je peux t’assurer qu'il est bien présent. Ensuite, le "Hide". Lui, je l'ai mis après "showTipBalloon" et il fonctionne. Puis, ça me ferait un grand plaisir tantôt de vérifier le message d'erreur.

Coridalement, Ludvic.
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020
1
Mon message d'erreur est sur la capture d'écran de la réponse de yg_be. J'espère quelle vous seras utile!
Messages postés
14878
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 octobre 2020
594
Ha ben oui, parce que la signature d'un évènement FormCloasing, n'est pas celle que tu as mise.

EventArgs c'est le type chapeau de tous les paramètres d'évènements des outils Framwork, mais pour FormClosing, on utilise un type dérivé dédié
Il t'aurais suffit de quelques instants sur l'aide en ligne pour t'en rendre compte
https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.form.formclosing?view=netcore-3.1

(si le code exemple n'est pas en VB, tu peux le changer en haut à droite de la page, en cliquant sur le nom du langage, à coté de "signet"

Dans mon projet, j'avais déjà du code dans cet évènement, et puis mon formulaire n'a pas le même nom, alors j'ai copié le contenu de la méthode, mais pas sa déclaration => pas d'erreur pour moi


Messages postés
14878
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 octobre 2020
594 >
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020

Es tu allé voir le lien que je t'ai donné?
Messages postés
14878
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 octobre 2020
594 >
Messages postés
14878
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 octobre 2020

PS, tu dis ne pas avoir tout compris, c'est symptomatique d'un apprentissage sur le tas sans prendre la peine d'apprendre les bases, parce que "méthode", "signature", "type dérivé" se sont des notions clés de VB.Net, qu'on apprend (en théorie) dans le début de sa formation.
Le meilleur conseil que je puisse te donner est de laisser ton projet de coté quelques jours pour suivre un cours en ligne
celui là par exemple http://plasserre.developpez.com/cours/vb-net/ même s'il s'adresse aux anciens codeurs de VB6 et qu'il prend l'objet pour un effet de mode ou encore celui d'openclassroom, moins accessible mais bien orienté objet.
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020
1 >
Messages postés
14878
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 octobre 2020

Dans le premier site que tu m'as envoyée Whismeril, ça parle de C #.
Pour le deuxième, ça montre tout plein de trucs que j'ai déjà vu!
Messages postés
14878
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 octobre 2020
594 >
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020

oui et je t'ai écrit
si le code exemple n'est pas en VB, tu peux le changer en haut à droite de la page, en cliquant sur le nom du langage, à coté de "signet"
Messages postés
12666
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2020
703
il s'agit de _Load
d'où ma question, sans réponse, à propose du but du
Cancel=true
Messages postés
121
Date d'inscription
jeudi 30 avril 2020
Statut
Membre
Dernière intervention
5 octobre 2020
1
Merci à tous! Selon moi, comme Whismeril à dit, je vais en apprendre beaucoup plus. Merci pour votre aide!
Messages postés
20
Date d'inscription
samedi 3 août 2019
Statut
Membre
Dernière intervention
15 mai 2020

Bonjour,
Est-ce une WindowsAppForm ?
Si oui essay simplement Me.Hide(), qui cachera la fenêtre.
Si ça peut t'aider.

Cordialement,
Codeur32547
Messages postés
14878
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 octobre 2020
594
Bonjour, as tu lu le code qu'il utilises?
Notamment la ligne 6
Messages postés
20
Date d'inscription
samedi 3 août 2019
Statut
Membre
Dernière intervention
15 mai 2020
>
Messages postés
14878
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
19 octobre 2020

Re
Effectivement, je n'ai pas pris le temps de bien regarder le code, désolé !
Bonne journée