Temporisation [Résolu]

Messages postés
54
Date d'inscription
lundi 30 décembre 2002
Dernière intervention
15 août 2007
- - Dernière réponse : zazsze
Messages postés
54
Date d'inscription
lundi 30 décembre 2002
Dernière intervention
15 août 2007
- 13 août 2007 à 12:44
Bonsoir,
Est-il possible qu'en cliquant sur un button de commande de faire apparaitre une textbox que pendant 5 secondes par exemple ?
merci
zazsze
Afficher la suite 

Votre réponse

16 réponses

Meilleure réponse
Messages postés
54
Date d'inscription
lundi 30 décembre 2002
Dernière intervention
15 août 2007
3
Merci
Bonjour,
Ca fonctionne avec la méthode de NHENRY

merci à vous deux
zazsze

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 104 internautes nous ont dit merci ce mois-ci

Commenter la réponse de zazsze
Messages postés
14325
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
18 décembre 2018
0
Merci
Bonjour

Oui, dans un ton bouton tu active un timer réglé sur 5 sec et tu affiche ton txtbx,
Puis dans ton timer tu désactive celui-ci puis tu masque ta txtbx.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
Commenter la réponse de NHenry
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
salut

Option Explicit
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Private Sub Form_Load()
    Text1.Visible = False
End Sub

Private Sub Command1_Click()
    Text1.Visible = True
    DoEvents
    Call Sleep(5000) 'sera visible et gèlera
l'appli
    Text1.Visible = False
End Sub

++
PCPT  [AFCK]
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
oups, en DotNet?
il doit bien y avoir qqc dans le framework pour se passer de l'API. sinon la déclarer en integer

++
Commenter la réponse de PCPT
Messages postés
14325
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
18 décembre 2018
0
Merci
Bonjour

Sleep : System.Threading.Thread.sleep(...)

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
Commenter la réponse de NHenry
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
merci
Commenter la réponse de PCPT
Messages postés
54
Date d'inscription
lundi 30 décembre 2002
Dernière intervention
15 août 2007
0
Merci
Etant débutant, je n'ai pas tout compris
Quelle modification dois-je faire dans le code écrit par PCPT
zazsze
Commenter la réponse de zazsze
Messages postés
14325
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
18 décembre 2018
0
Merci
Bonjour
Question, Quand ta txtbx est affichée, doit-tu pouvoir modifier son contenu ?

Oui, Ma méthode est à utiliser
Non, la méthodfe de PCPT est à utiliser.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
Commenter la réponse de NHenry
Messages postés
54
Date d'inscription
lundi 30 décembre 2002
Dernière intervention
15 août 2007
0
Merci
Bonjour,
Pour répondre à ta question, je n'ai pas besoin que mon texte soit modifié.
Mais avec la méthode de PCPT, il me dit que DoEvents n'est pas déclaré.
Voilà ce que j'ai écrit :
Option

Explicit
On
Public
Class Form1

         Private
Declare
Sub Sleep
Lib
"kernel32" (
ByVal dwMilliseconds
As
Long)

         Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load
                 TextBox1.Visible =
False
         End
Sub

         Private
Sub Command1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Command1.Click
                  TextBox1.Visible =
True
                  DoEvents()

                  Call Sleep(5000)

                  TextBox1.Visible =
False
         End
Sub
End
Class

Encore merci pour ton aide
zazsze
Commenter la réponse de zazsze
Messages postés
14325
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
18 décembre 2018
0
Merci
Bonjour

Application.DoEvents()

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
Commenter la réponse de NHenry
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
si tu passes par l'API, tu la déclare comme çà :
Private Declare Sub Sleep Lib"kernel32" (ByVal dwMilliseconds As Integer)

mais en DotNet il faut préférer l'utilisation du framework plutôt que les API.
donc pas d'API, et :

         Private Sub Command1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Command1.Click
                  TextBox1.Visible = True
                  Application.DoEvents()

                  System.Threading.Thread.sleep( 5000)'pas certain pour les parenthèses...
                  TextBox1.Visible = False
         End Sub

++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT
Messages postés
14325
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
18 décembre 2018
0
Merci
Bonjour

En .NET c'est là que c'est plus clair qu'avec VB6 PCPT, on met toujours les parenthèses.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
Commenter la réponse de NHenry
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
2e merci, je retiendrai
Commenter la réponse de PCPT
Messages postés
54
Date d'inscription
lundi 30 décembre 2002
Dernière intervention
15 août 2007
0
Merci
Bonjour,
Le code ci-dessous fonctionne bien, mais il bloque completement le reste l'application.
Je ne peux plus écrire dans les autres textbox ou encore cliquer sur les boutons de commande de mon appplication pendant le temps donné à l'apparition de ma textbox1 (soit 5 seondes dans ce cas de figure)
Comment faire pour que toutes mes commandes ou zone de texte soit accessible à tout momment

Option
Explicit
On
Public
Class Form1

         Private
Declare
Sub Sleep
Lib
"kernel32" (
ByVal dwMilliseconds
As Interger)

         Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load
                 TextBox1.Visible =
False
         End
Sub

         Private
Sub Command1_Click(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles Command1.Click
                  TextBox1.Visible =
True
                  DoEvents()

                  Call Sleep(5000)

                  TextBox1.Visible =
False
         End
Sub
End
Class

Merci d'avance
zazsze
Commenter la réponse de zazsze
Messages postés
14325
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
18 décembre 2018
0
Merci
Bonjour

Utilise la méthode du Timer comme je te l'ai conseillé.

Balèse la personne qui a pensé au pansement à penser (ou à panser, pensée).
VB (6, .NET1&2), C++, C#.Net1
Mon site
Commenter la réponse de NHenry
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
0
Merci
comme on te l'a indiqué, sleep gèle l'application.
je l'ai indiqué en commentaire, et NHenry t'a demandé et indiqué les choix à faire selon si oui ou non tu avais besoin de garder la main

dans quel cas, timer

(ps : çà marche oui. mais faut pas juste que çà marche)
++
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
Commenter la réponse de PCPT

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.