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

Windows Forms Discussion :

Afficher une variable dynamique dans la barre des taches de windows


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 73
    Points : 35
    Points
    35
    Par défaut Afficher une variable dynamique dans la barre des taches de windows
    Bonjour à tous,

    Je cherche le moyen d'afficher une variable dynamique, un compte à rebours en jours, heures, minutes et secondes.
    La partie calcul du compte à rebours marche, mais je ne trouve pas le moyen de l'afficher dans la barre des taches (à coté de l'heure par exemple).

    J'ai deja vu ca dans un programme pour arreter le pc en différé.

    Quelqu'un peut m'aider.
    Merci à 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
    l'objet notifyicon à poser sur ta feuille
    ensuite tu fais des icones différents ...
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    Je ne sais pas si c'est vraiment ce qu'il demande.

    Je pense que ce qu'il demande, c'est que sur le bouton qui représente la fenêtre sur la barre des taches, il y ait le compte a rebours qui s'affiche, sans que celà s'affiche sur le titre de la form, par exemple.
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  4. #4
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Idée pas trés élégante : tu fais une form en mode minimized qui ne peut pas être agrandie et tu modifies le .text.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Public Class Form4
        Private WithEvents t As New Timer
        Private Sub Form4_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Me.Enabled = False
            t.Interval = 1000
            t.Start()
        End Sub
        Private Sub t_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles t.Tick
            Me.Text = CStr(Date.Now.Second)
        End Sub
    End Class
    Tu l'instancies comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Dim f As Form4
     
        Private Sub Form3_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            f = New Form4
            f.WindowState = FormWindowState.Minimized
            f.ShowInTaskbar = True
            f.Show()
        End Sub
    Pas joli, joli mais ça marche.

    Cdt.
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Ok merci.

    Je vais essayer ca en attendant. je te remercie.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Voila ce que je voudrais faire:


  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    J'ai bien trouver ca mais quelqu'un peut m'aider à l'utiliser?

    http://faqvbnet.developpez.com/?page...ify_icon_modif

    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
        ''' Méthode privée timer1_Tick gestionnaire de l'évènement Tick de timer1
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            ' lancer la mise à jour de NotifyIcon1
            Me.UpdateNotiFyIcon(DateTime.Now.Second.ToString())
        End Sub
     
     
        '''Méthode privée UpdateNotiFyIcon chargée de mofifier notifyIcon1 dynamiquement
        '''String : représente le texte à afficher
        Private Sub UpdateNotiFyIcon(ByVal texte As String)
            ' redessiner iconBitmap
            Me.UpdateBitmap(texte)
            ' récupérer un icone à patir de iconBitmap
            Dim newIcon As Icon = Drawing.Icon.FromHandle(iconBitmap.GetHicon())
            ' assigner le nouvel icône de NotifyIcon1
            Me.NotifyIcon1.Icon = newIcon
            ' détruire en mémoire newIcon
            newIcon.Dispose()
        End Sub
     
     
        '''Méthode privée UpdateBitmap chargée de redessiner iconBitmap en fonction d'un texte
        '''String : représente le texte à afficher
        Private Sub UpdateBitmap(ByVal texte As String)
            Dim g As Graphics = Graphics.FromImage(iconBitmap)
            ' assigner la couleur de fond
            g.Clear(Color.White)
            ' dessiner le texte
            g.DrawString("Salut", Me.Font, New SolidBrush(Color.Black), 10, 10)
            ' liberer l'objet Graphics
            g.Dispose()
        End Sub
    J'ai un problème sur cette ligne:

    Dim newIcon As Icon = Drawing.Icon.FromHandle(iconBitmap.GetHicon())

  8. #8
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Quel problème exactement ? compilation ? exécution ? Il faut que iconBitmap soit déclaré dans ta classe, mais si tu n'es pas débutant tu dois déjà savoir ça...
    De toutes façons, cet exemple ne résoudra sans doute pas ton problème : jusqu'à 2 ou 3 chiffres, ça ira (en écrivant petit...), mais au delà ça ne rentrera plus dans l'icone... tu ne peux afficher que des icones dans la zone de notification, et leur taille est limitée. Tu peux toujours mettre 3 icones, mais tu ne peux pas contrôler dans quel ordre elles apparaitront...
    Par contre il doit être possible de faire une barre d'outils personnalisée qui s'intègre à la barre des tâches, mais je ne sais pas trop comment...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Ok, merci de ta réponse. Le notifyicon n'est donc pas la solution...

    Mais alors comment faire! L'exemple qeu j'ai posté plus haut vient du programme X'n stop pour éteindre le PC en différé.

    personne ne sait faire ce genre de chose???

    Merci à tous de votre participation

  10. #10
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    L'exemple plus haut, c'est ça,
    maintenant, puisque je crois que tu as le compte à rebour qui marche, tu enregistre la valeur dans une varriable string, et tu fais , en reprennant tout le code au desus, tu change juste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.UpdateNotiFyIcon(tavaraiblestring)
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Tout marche sauf que l'icone est trop petite pour afficher le texte.
    Dans une picture box ca marche mais pas dans une notifyicon.

    Il y a un moyen d'augmenter la taille de l'icone?

  12. #12
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    aucune idée
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

  13. #13
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 209
    Points : 167
    Points
    167
    Par défaut
    Tu dois avoir une propriété pour redefinir la taille du TrayIcon (NotiFyIcon)

  14. #14
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Dans le trayicon?? J'ai chercher sur le notify mais ya rien....

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 209
    Points : 167
    Points
    167
    Par défaut
    Tu as essayé de metrre une image de fond longue

  16. #16
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mars 2004
    Messages : 73
    Points : 35
    Points
    35
    Par défaut
    Voici mon code:

    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
    39
    40
    41
    42
    43
    44
    45
    46
        Dim MyBitMap As Bitmap = New Bitmap(250, 20)
        Dim msn As New XihSolutions.DotMSN.Messenger()
     
        Private Sub Timer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
     
            Dim Date_fin As Date
            Dim Jours_restants, Heures_restantes, Minutes_restantes, Secondes_restantes As Long
            Dim Heures_cumulées, Minutes_cumulées, Secondes_cumulées As Long
     
            Date_fin = "08/09/2007 06:00:00"
     
            Jours_restants = DateDiff(DateInterval.Day, Now(), Date_fin)
     
            Heures_cumulées = DateDiff(DateInterval.Hour, Now(), Date_fin)
            Heures_restantes = Heures_cumulées - Jours_restants * 24
     
            Minutes_cumulées = DateDiff(DateInterval.Minute, Now(), Date_fin)
            Minutes_restantes = Minutes_cumulées - Heures_cumulées * 60
     
            Secondes_cumulées = DateDiff(DateInterval.Second, Now(), Date_fin)
            Secondes_restantes = Secondes_cumulées - Minutes_cumulées * 60
     
            Me.Text = Jours_restants & " jours " & Heures_restantes & " heures " & Minutes_restantes & " minutes " & Secondes_restantes & " secondes"
     
            'Affichage Notify icon
            Call UpdateNotiFyIcon(lblTemps_restant.Text)
     
        End Sub
     
     
        Private Sub UpdateNotiFyIcon(ByVal texte As String)
            Dim newIcon As Icon = Drawing.Icon.FromHandle(MyBitMap.GetHicon)
            Call UpdateBitmap(texte)
            NotifyIcon1.Icon = newIcon
            newIcon.Dispose()
        End Sub
     
     
        Private Sub UpdateBitmap(ByVal texte As String)
            Dim g As Graphics = Graphics.FromImage(MyBitMap)
            Dim police = New System.Drawing.Font("Arial", 8)
            g.Clear(Color.White)
            g.DrawString(texte, police, New SolidBrush(Color.Black), 2, 2)
            PictureBox1.Image = MyBitMap
            g.Dispose()
        End Sub
    L'image bitmap mesure 250 par 20 mais l'icone est carrée. Elle est "compressé" lorsque qu'elle s'affiche dans le traybar.

  17. #17
    Membre expérimenté

    Homme Profil pro
    kiné passionné de dev
    Inscrit en
    Mars 2006
    Messages
    1 570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : kiné passionné de dev

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 570
    Points : 1 738
    Points
    1 738
    Billets dans le blog
    1
    Par défaut
    je pense que les icones ne peuvent pas faire plus de 16*16
    Petit poulain devient grand de jour en jour...

    Petit Poulain, ce n'est que pour les intimes!

Discussions similaires

  1. [WD17] iconiser dans la barre des taches de windows
    Par vegetacherif dans le forum WinDev
    Réponses: 4
    Dernier message: 29/04/2013, 19h08
  2. Réponses: 5
    Dernier message: 10/11/2009, 13h32
  3. Réponses: 4
    Dernier message: 26/02/2007, 13h20
  4. Afficher une seule fenêtre dans la barre des taches
    Par Amissan dans le forum Interfaces Graphiques en Java
    Réponses: 7
    Dernier message: 25/01/2007, 16h56
  5. [C#] Impossible d'afficher une form dans la barre des taches
    Par padodanle51 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/05/2006, 09h30

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