0

Je travaille sur un convertisseur Youtube Youtube. Conversion Mp3 prend quelques secondes et je veux que l'utilisateur ne peut pas cliquer sur un contrôle sur le formulaire. Je l'ai fait en utilisant Control.Enabled = false pour tout le contrôle mais je pense que ce chemin n'est pas professionnel et ne semble pas bon pour la visualisation. Y a-t-il une bonne méthode pour le faire?Quel est le meilleur moyen d'empêcher l'utilisateur de cliquer sur un élément du formulaire lors du traitement en arrière-plan?

+0

S'il vous plaît expliquer ceci: « et doesn 't semble bon pour la visualité ". Control.Enabled = false fait exactement ce que vous voulez, c'est-à-dire, désactive l'interaction de l'utilisateur. – lenkan

+0

Désactiver le formulaire entier, afficher une barre de progression en mode Sélection, changer le curseur en Occupé. faites votre choix, c'est votre application – Plutonix

+0

... ou affichez un formulaire de dialogue modal. – LarsTech

Répondre

4

Comme le fait remarquer dit que vous pouvez avoir un formulaire modal:

yourModalForm.ShowDialog(); 

qui ont pas de boutons de la barre de titre ou pas de barre de titre du tout et se fermera après la conversion se fait.

Ou vous pouvez utiliser Enabled propriété comme vous suggéré, mais pas pour chaque commande, vous pouvez le faire pour votre forme tout à la fois:

this.Enabled = false; 

Rappelez-vous que this est votre formulaire si vous êtes dans le bon contexte .

Je vous conseille aussi de changer votre forme curseur, comme ça:

this.Cursor = Cursors.WaitCursor; 

Et quand votre travail est terminé tout ce que vous avez à faire est:

this.Enabled = true; 
this.Cursor = Cursors.Default;