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

C# Discussion :

Après l'execution et la fermeture d'un programme , il reste actif dans la zone de notification . [Débutant]


Sujet :

C#

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Après l'execution et la fermeture d'un programme , il reste actif dans la zone de notification .
    Bonjour ,

    je suis nouveau sur le forum alors voila je débute en c# et cherchant des idées de petits programmes ,
    je me suis dit qu'il y avait quelque chose d’essentiel que j'aimerai avoir dans chacun de mes programmes ..

    J'aimerai executer mon programme simplement depuis un executable , puis qu'a sa fermeture il reste dans la zone de notification
    et que je ne puisse fermer le programme qu'avec un clique droit fermer .

    Alors voila j'ai fais quelques recherche mais je n'ai pas trouver de réponses,
    j'ai compris comment faire pour que le programme soit visible dans la zone de notification mais lorsque je le ferme
    l'icone de la zone de notification se ferme aussi ( programme windows form ) ..

    Merci d'avance a tous !

  2. #2
    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
    En windows forms il ya un event formclosing fans lequel tu peux empêcher la fermeture (via e.quelquechose) et faire this.hide à la place
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci de ta réponse , après avoir galéré j'ai finit par trouver une solution mais il me manque juste une ligne pour forcer la fermeture ,
    je la partage ou cas ou quelqu'un d'autre bloquerai la dessus et si on peut m'aider ce serai grave sympa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    private void Form1_Move(object sender, EventArgs e)
    {
    if(this.WindowState == FormWindowState.Minimized)
    {
    this.Hide();
    notifyIcon1.ShowBalloonTip(1000, "Test d'un programme dans ","la zone de notification", ToolTipIcon.Info);
    }
     
    private void fermerToolStripMenuItem_Click(object sender, EventArgs e)
    {
    Application.Exit();
    }
     
    private void ouvrirToolStripMenuItem_Click(object sender, EventArgs e)
    {
    this.Show();
    WindowState = FormWindowState.Normal;
    }
     
    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
    e.Cancel = true;
    WindowState = FormWindowState.Minimized;
    /* J'imagine que c'est ici que je dois forcer la fermeture :
    if (fermertoolstripmenuitem_click) 
    { 
    e.cancel = false;
    Application.Exit();
    }
    else 
    {
    e.Cancel= true;
    WindowState = FormwindowState.Minimized;
    }
    J'ai essayer plein de chose pour faire fonctionner cette partie mais ca n'a pas fonctionner 
    alors si vous avez un indice ou une solution merci beaucoup*/
    }

  4. #4
    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
    ca ne me parait pourtant pas compliqué d'ajouter un booléen à ta classe, le setter à true sur le click qui permet de fermer réellement
    et le tester dans le form closing
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Ben merci du conseil mais je pars de rien a peut pres , du coup je créer la bool puis j'arrive pas a lui assiger Application.Exit , environnement.Exit ni e.Cancel ,
    En tous cas merci d'avoir essayer de m'aider si tu aurais le temps de m'expliquer mais je comprendrai que tu ne l'ais pas ^^

  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 184
    Points : 5 755
    Points
    5 755
    Par défaut
    Pour ma part, lorsque j'ai eu besoin de gérer une application de ce type, j'ai préféré créer un "ApplicationContext" dérivé que j'ai personnalisé.

    Je l'initialise comme ceci dans le Program.cs
    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    Application.Run(new MyCustomContext());
    La boucle local de l'application n'est plus lié à une form.

    Voir :
    https://msdn.microsoft.com/fr-fr/lib...v=vs.110).aspx
    https://msdn.microsoft.com/fr-fr/lib...v=vs.110).aspx

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Merci de ta réponse , mais je suis un peu largué la

  8. #8
    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
    un truc dans le genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    private bool _exit;
     
    private void fermerToolStripMenuItem_Click(object sender, EventArgs e)
    {
      _exit = true;
      Application.Exit();
    }
     
    private void Form1_FormClosing(object sender, FormClosingEventArgs e)
    {
    if (! _exit) 
     {
        e.Cancel = true;
        WindowState = FormWindowState.Minimized;
     }
    }
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2017
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    Un grand merci a toi je vais essayer d'apprendre a écrire tous ca correctement mais avec ton code c'est propre merci beaucoup !

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

Discussions similaires

  1. [XL-2007] Lors de la fermeture d'Excel le processus reste actif
    Par courriervirtuel dans le forum Macros et VBA Excel
    Réponses: 33
    Dernier message: 30/03/2017, 17h48
  2. erreur ORA-00900 après un execute
    Par korntex5 dans le forum SQL
    Réponses: 4
    Dernier message: 19/03/2009, 18h46
  3. Réponses: 3
    Dernier message: 14/04/2006, 18h58
  4. Récupérer le numéroAuto après CurrentDb.Execute strSQL
    Par Tchupacabra dans le forum Access
    Réponses: 4
    Dernier message: 03/01/2006, 16h50
  5. Xterm se fermant après l'éxécution d'un programme ?
    Par Clemaster dans le forum Applications et environnements graphiques
    Réponses: 6
    Dernier message: 29/03/2004, 15h49

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