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

VB.NET Discussion :

Affichage label pendant 3 secondes


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Par défaut Affichage label pendant 3 secondes
    Bonjour,

    j'aimerais faire en sorte qu'un de mes labels soit affiché pendant 3 secondes et disparaissent après...
    Je ne vois pas comment faire :s

    Voila pour l'instant ou j'en suis :

    Au chargement de la page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    lblMessage.Visibility = Windows.Visibility.Visible
    Temps()
    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
     
    Dim atimer As Timer
    Dim deb As Integer
    Private Sub Temps()
    atimer = New System.Timers.Timer(6000)
    deb = CInt(Date.Now.ToString("ss"))
    AddHandler aTimer.Elapsed, AddressOf OnTimedEvent
    atimer.Interval = 3000
    aTimer.Enabled = True
    End Sub
     
    Private Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs)
    atimer.Stop()
    lblMessage.Visibility = Windows.Visibility.Hidden
    End Sub
    Et voici l'erreur :
    Le thread appelant ne peut pas accéder à cet objet parce qu'un autre thread en est propriétaire
    Merci.

  2. #2
    Membre éclairé Avatar de Howard_Hughes
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Juillet 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2011
    Messages : 18
    Par défaut
    Bonjour,

    je n'ai pas de plateforme Vb.net pour tester, mais essaie avec lblMessage.Visibility = False au lieu de Hidden

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Par défaut
    ca ne marche pas non plus
    merci quand meme

  4. #4
    Membre émérite

    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Israël

    Informations forums :
    Inscription : Mars 2012
    Messages : 691
    Par défaut
    Salut

    peut etre simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Private WithEvents timer1 As New Timer
    dans le event load

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    timer1.Interval = 3000
            timer1.Start()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
         Private Sub timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles timer1.Tick
            DirectCast(sender, Timer).Stop()
           mylabel.Visible = False
        End Sub

  5. #5
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Janvier 2012
    Messages
    71
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2012
    Messages : 71
    Par défaut
    Le code données ne fonctionne pas
    par contre je vais aller me renseigner du coté des delegate...

    merci

  6. #6
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Afin de vous éclairer un peu voilà comment ça doit se présenter :

    Au niveau des déclarations on déclare une sub delegate :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private delegate sub delegate_cache_lblmessage
    Ensuite une sub sur laquelle va pointer votre delegate sub :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private sub cache_lblmessage
         lblMessage.Visibility = Windows.Visibility.Hidden
    End sub
    et enfin une ligne qui lance votre sub en déléguée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub OnTimedEvent(ByVal source As Object, ByVal e As ElapsedEventArgs)
         atimer.Stop()
         'lblMessage.Visibility = Windows.Visibility.Hidden
         Invoke(New delegate_cache_lblmessage(AddressOf cache_lblmessage))
    End Sub
    Je ne suis pas sur à 100% de la syntaxe, mais il me semble que c'est ça.

  7. #7
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 793
    Par défaut
    Bonjour,

    regardez du côté des "DELEGATE".
    Le thread principal a créé le controle, il est donc le seul à pouvoir accéder à ses propriétés graphiques.
    Afin de modifier une de ces propriétés, vous pouvez appeller à partir de votre thread une sub delegate dans laquelle vous mettez votre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lblMessage.Visibility = Windows.Visibility.Hidden

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

Discussions similaires

  1. Afficher un label pendant 2 secondes
    Par noftal dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/10/2013, 18h09
  2. [Modalpanel] Affichage pendant quelques secondes
    Par AmineDev9 dans le forum JSF
    Réponses: 11
    Dernier message: 02/06/2009, 12h22
  3. [MySQL] Affichage pendant 5 secondes
    Par Devilju69 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 31/05/2009, 14h29
  4. Affichage de bmp pendant quelque seconde
    Par Invité dans le forum SDL
    Réponses: 3
    Dernier message: 04/05/2006, 23h08

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