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 :

fenetre de notification type "popup" [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Points : 16
    Points
    16
    Par défaut fenetre de notification type "popup"
    bonjour,

    Je suis actuellement en train de développer un programme de type application console afin d'afficher un message de notification windows en popUp de ce genre là :

    Nom : monPopUp.png
Affichages : 568
Taille : 15,0 Ko

    J'ai réalisé cette impression d'écran à partir d'un programme ayant le même but mais de type application windows.

    J'ai importé la référence "system.windows.form" et essayé ceci :

    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
     
    public class PopUp
    	{
    		public string jour, heure; // On crée le jour et l'heure.
    		static NotifyIcon MonMessage;
     
    		public PopUp()
    		{
    			jour = DateTime.Now.ToString("dd/MM/yyyy"); // jour = date du système.
    			heure = DateTime.Now.ToString("HH:mm:ss"); // heure = heure du système.
    			MonMessage = new NotifyIcon();
    		}
     
    		public static void notification()
    		{
    			MonMessage.Icon. = ToolTipIcon.Error;
    		}
    	}
    mais je suis persuadé de mal m'y prendre (de plus cela ne fonctionne pas).

    Merci d'avance,

    Léo

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    j'ai modifié mon code de manière assez simple :

    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
     
    public class PopUp
    {
    	static string jour, heure; // On crée le jour et l'heure.
    	static NotifyIcon MonMessage;
     
    	public PopUp()
    	{
    		jour = DateTime.Now.ToString("dd/MM/yyyy"); // jour = date du système.
    		heure = DateTime.Now.ToString("HH:mm:ss"); // heure = heure du système.
    		MonMessage = new NotifyIcon();
    	}
     
    	public static void notification()
    	{
    		MonMessage.BalloonTipIcon = ToolTipIcon.Error;
    		MonMessage.BalloonTipTitle = "MonPopUp";
    		MonMessage.BalloonTipText = "MonMessage du \n "+jour+" \n à "+heure+" !";
    		MonMessage.ShowBalloonTip(0);
     
    	}
    }
    mais sans succès, en effet pas de problème pour compiler mais en revanche un exception non géré : "La référence d'objet n'est pas définie à une instance d'un objet."

    je précise que je travaille sur un programme dont l'un des but est d'afficher un popup, et par conséquent, j'utilise des classes.

    Voici mon programme.cs utilisant la fonction de ma classe :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public static void Main(string[] args)
    {
    	PopUp.notification();
    }

  3. #3
    Membre éprouvé
    Homme Profil pro
    Architecte technique
    Inscrit en
    Septembre 2005
    Messages
    462
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 462
    Points : 1 056
    Points
    1 056
    Par défaut
    Salut,

    L'erreur vient du fait que tu ne passe jamais dans le constructeur de ta class "PopUp". Il faut lui créer un constructeur "static".
    Si tu avais mis un point d'arrêt dans ton constructeur tu aurais vu qu'il n'était jamais appelé.

    L'erreur : "La référence d'objet n'est pas définie à une instance d'un objet." ==> Il manque un "new" quelque part !

    Attention l'abus de static est dangereux pour la santé...


    Correction :
    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
     
    public class PopUp
    {
    	static string jour, heure; // On crée le jour et l'heure.
    	static NotifyIcon MonMessage;
     
    	static PopUp()
    	{
    		jour = DateTime.Now.ToString("dd/MM/yyyy"); // jour = date du système.
    		heure = DateTime.Now.ToString("HH:mm:ss"); // heure = heure du système.
    		MonMessage = new NotifyIcon();
    	}
     
    	public static void notification()
    	{
    		MonMessage.BalloonTipIcon = ToolTipIcon.Error;
    		MonMessage.BalloonTipTitle = "MonPopUp";
    		MonMessage.BalloonTipText = "MonMessage du \n "+jour+" \n à "+heure+" !";
    		MonMessage.ShowBalloonTip(0);
     
    	}
    }

  4. #4
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    Tout d'abord, merci!
    Ensuite, ...j'ai un peu honte d'avoir oublié quelque chose d'aussi simple

    J'ai suivi le conseil de ne pas travailler avec trop de static. A vrai dire, je ne connaissais que peu leur utilité et j'ai compris avec les messages d'erreur de compilation que je devais parfois l'utiliser. Je suis donc aller faire un tour sur msdn pour comprendre leur fonctions.

    Le programme se compile désormais correctement, se lance sans erreurs, néanmoins, il ne fonctionne pas (pas de popup affiché).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //Mon Programme.cs
     
    class Program
    {
    	public static void Main(string[] args)
    	{
    		PopUp pu = new PopUp();
    		pu.notification();
     
    		Console.ReadKey(true);
    	}
    }
    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
     
    //ma classe PopUp
     
    public class PopUp
    {
    	string jour, heure; // On crée le jour et l'heure.
    	NotifyIcon MonMessage;
     
    	public PopUp()
    	{
    		jour = DateTime.Now.ToString("dd/MM/yyyy"); // jour = date du système.
    		heure = DateTime.Now.ToString("HH:mm:ss"); // heure = heure du système.
    		MonMessage = new NotifyIcon();
    	}
     
    	public void notification()
    	{
    		MonMessage.BalloonTipIcon = ToolTipIcon.Error;
             	MonMessage.BalloonTipTitle = "MonPopUp";
    		MonMessage.BalloonTipText = "MonMessage du \n "+jour+" \n à "+heure+" !";
    		MonMessage.ShowBalloonTip(0);
    	}
    }

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Doubs (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2014
    Messages : 20
    Points : 16
    Points
    16
    Par défaut
    Bonjour,

    après de petite recherche sur ce site
    et une simple compréhenstion, voilà ce que j'ai trouvé :
    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
     
    public class PopUp
    {
    	string jour, heure; // On crée le jour et l'heure.
     
    	public PopUp()
    	{
    		jour = DateTime.Now.ToString("dd/MM/yyyy"); // jour = date du système.
    		heure = DateTime.Now.ToString("HH:mm:ss"); // heure = heure du système.
    	}
     
    	public void notification()
    	{
    		NotifyIcon MonMessage = new NotifyIcon();
    		MonMessage.Visible = true;
    		MonMessage.Icon = SystemIcons.Information;
    		MonMessage.BalloonTipIcon = ToolTipIcon.Error;
    		MonMessage.BalloonTipTitle = "MonPopUp";
    		MonMessage.BalloonTipText = "MonMessage du \n "+jour+" \n à "+heure+" !";
    		MonMessage.ShowBalloonTip(0);
    	}
    }

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

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