Une autre erreur? (Programmation Visual Basic)

Résolu
Ludvic. Messages postés 134 Statut Membre -  
Codeur32547 Messages postés 23 Statut Membre -
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

A voir également:

7 réponses

yg_be Messages postés 24281 Statut Contributeur Ambassadeur 1 584
 
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?
0
Ludvic. Messages postés 134 Statut Membre 1
 
Je vais vérifiez ça tout de suite!
0
Ludvic. Messages postés 134 Statut Membre 1
 
Voila une capture d'écran que j'ai pris. J'espère quelle vous seras utile!
0
yg_be Messages postés 24281 Statut Contributeur 1 584
 
et si tu supprimes la ligne
 e.Cancel = True
?
pourquoi as-tu ajouté cette ligne, à quoi penses-tu qu'elle serve?
0
Ludvic. Messages postés 134 Statut Membre 1 > yg_be Messages postés 24281 Statut Contributeur
 
Pour annuler la fermeture?
0
yg_be Messages postés 24281 Statut Contributeur 1 584 > Ludvic. Messages postés 134 Statut Membre
 
il me semble que ton code s'occupe de l'ouverture, pas de la fermeture.
0
NHenry Messages postés 15479 Statut Modérateur 366
 
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.
0
Ludvic. Messages postés 134 Statut Membre 1
 
Le quelle tu crois et comment accédez au gestionnaire? Merci d'avance!
0
Utilisateur anonyme
 
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?
0
Ludvic. Messages postés 134 Statut Membre 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.
0
Ludvic. Messages postés 134 Statut Membre 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!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
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


0
Ludvic. Messages postés 134 Statut Membre 1
 
Et donc... quelle est mon erreur? (J'ai pas tout compris)
0
yg_be Messages postés 24281 Statut Contributeur 1 584
 
il s'agit de _Load
d'où ma question, sans réponse, à propose du but du
Cancel=true
0
Utilisateur anonyme > Ludvic. Messages postés 134 Statut Membre
 
Es tu allé voir le lien que je t'ai donné?
0
Utilisateur anonyme > Utilisateur anonyme
 
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 https://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.
0
Ludvic. Messages postés 134 Statut Membre 1 > Utilisateur anonyme
 
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!
0
Ludvic. Messages postés 134 Statut Membre 1
 
Merci à tous! Selon moi, comme Whismeril à dit, je vais en apprendre beaucoup plus. Merci pour votre aide!
0
Codeur32547 Messages postés 23 Statut Membre
 
Bonjour,
Est-ce une WindowsAppForm ?
Si oui essay simplement Me.Hide(), qui cachera la fenêtre.
Si ça peut t'aider.

Cordialement,
Codeur32547
0
Utilisateur anonyme
 
Bonjour, as tu lu le code qu'il utilises?
Notamment la ligne 6
0
Codeur32547 Messages postés 23 Statut Membre > Utilisateur anonyme
 
Re
Effectivement, je n'ai pas pris le temps de bien regarder le code, désolé !
Bonne journée
0