Fenetre bloquée par un click [Résolu]

Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
15 avril 2008
- - Dernière réponse : kkto
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
15 avril 2008
- 15 avril 2008 à 10:38
bonjour,

mon probleme : j'ai un form qui s'affiche et qui lance un événement à une heure donnée.
si je ckick sur le form, il devient occupé et le visuel est bloqué
quel code mettre pour éviter ça ?

voici mon code dans le sub load
Form1.WindowState = FormWindowState.Minimized        ' minimise le premier form

Refus.Close()                                                                              ' ferme le form précédent

Me.Show()                                                                                   ' rend le form en cour visible

merci d'avance
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
14595
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
19 novembre 2019
137
3
Merci
Bonjour

HORREUR ET DAMNATION : un GOTO dans un code VB.NET

horaire:

heure = System.DateTime.Now.Hour

minute = System.DateTime.Now.Minute

heure.ToString()

If heure = 18
And minute = 0
ThenOrdre2.Show()

Else :
GoTo horaire
EndIf

En clair tu attends qu'il soit 18h pile pour sortir de ta boucle, c'est très risqué, en plus, tu attends cette heure avant d'afficher la fenêtre, donc tu bloque tout ton programme j'usqu'à 18h00.

Le plus propre dans ce cas, ce serait d'utiliser un Timer (mettre Me.Hide au démarrage du formulaire).

Si je reprend ton code :
do Until now.ToString("HH:mm")="18:00"
    DoEvents
    Threading.Thread.Sleep(10)
Loop
Ordre2.Show

Le fer à souder a besoin d'une panne pour fonctionner.
VB (6, .NET1&2), C++, C#.Net1

Dire « Merci » 3

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

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

Commenter la réponse de NHenry
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
15 avril 2008
0
Merci
j ai oublié de préciser : je suis en vb 2005
Commenter la réponse de kkto
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
15 avril 2008
0
Merci
je continue à chercher et il semblerait que le probleme vienne de ma boucle, donc voici mon code en entier :

Public

Class Ordre1

Dim heure
As
Integer

Dim minute
As
Integer

Dim son
As
New System.Media.SoundPlayer

Private
Sub Ordre1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.LoadForm1.WindowState = FormWindowState.Minimized

Refus.Close()

Me.Show()son.SoundLocation =

"c:\actions\sons\ordre.wav"son.Play()

horaire:

heure = System.DateTime.Now.Hour

minute = System.DateTime.Now.Minute

heure.ToString()

If heure = 18
And minute = 0
ThenOrdre2.Show()

Else :
GoTo horaire

End
If

End
SubEnd

Class
est ce qu'un doevents aiderait ? mais comment l'utiliser ?
Commenter la réponse de kkto
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
15 avril 2008
0
Merci
merci beaucoup de ton aide

c'est all good
Commenter la réponse de kkto