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

Signaler
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
15 avril 2008
-
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
15 avril 2008
-
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

4 réponses

Messages postés
14689
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
8 août 2020
144
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
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
15 avril 2008

j ai oublié de préciser : je suis en vb 2005
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
15 avril 2008

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 ?
Messages postés
11
Date d'inscription
dimanche 4 février 2007
Statut
Membre
Dernière intervention
15 avril 2008

merci beaucoup de ton aide

c'est all good