Lancer un msgbox sans bloquer l'application.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 13 175 fois - Téléchargée 35 fois

Contenu du snippet

Voici un petit code tout simple pour afficher une msgbox sans bloquer le thread principal de l'application.

Source / Exemple :


Sub LanceThread()
		Dim Thread1 As New System.Threading.Thread(AddressOf OtherThread)
		Thread1.Start()		' Démarrer le nouveau thread.
	End Sub

	Sub OtherThread()
		MsgBox("Me voilà, le nouveau Thread !")
	End Sub

Private Sub rechercherButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rechercherButton.Click

		Cursor.Current = Cursors.WaitCursor
		LanceThread()

		'ici : ma fonction qui dure longtemp.
		DoSomeThing()

		Cursor.Current = Cursors.Default

	End Sub

A voir également

Ajouter un commentaire Commentaires
vercomax Messages postés 548 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
20 févr. 2007 à 15:35
Bonjour,

Impeccable, merci.
crocejf2000 Messages postés 260 Date d'inscription lundi 27 janvier 2003 Statut Membre Dernière intervention 27 août 2008 1
11 janv. 2007 à 15:13
Salut,

Pour moi ca fonctionne Super bien, c'est exactement ce que je recherchait, les thread sans prise de tête et en 2 lignes de codes... Trop fort 10/10 !!

Jeff
Bing2000 Messages postés 18 Date d'inscription lundi 28 octobre 2002 Statut Membre Dernière intervention 12 mars 2007
29 août 2006 à 10:30
oui mais ça ne marche pas quand je l'execute sur le server de production. Par contre ça fonctionne quand je le lance depuis VS2005... pkoi ?
winny68 Messages postés 99 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 14 février 2011 1
9 juil. 2006 à 19:07
Ton code est vraiment simple et bien.

Merci
Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007
30 juin 2005 à 13:05
Je pense que c plus simple avec l'API MessageBox, non?

Private Declare Function MessageBox Lib "user32" Alias "MessageBoxA" (ByVal hwnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long

...
Private Sub LanceMsgbox()
Call MessageBox(0&, "Me voilà, le nouveau thread!", "caption", vbInformation)
Afficher les 8 commentaires

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.