J'essaie de créer une application d'enregistrement vidéo pour un projet et je me demandais s'il y avait de toute façon pour ouvrir OpenFileDialog dans une boîte de diaglogs non modale ou devrais-je faire ma propre version personnalisée? La raison pour laquelle je demande est la fonction ShowDialog()
fige ma vidéo. Merci d'avance pour l'aide.Ouvrir un fichier en C# à l'aide d'une boîte openfilediaglog non modale
Répondre
Oui, vous pouvez empêcher une boîte de dialogue de bloquer le thread de l'interface utilisateur, mais elle peut être plutôt non triviale en fonction des détails de la manière dont vous souhaitez qu'elle se comporte. Si vous êtes ouvert à l'achat d'un composant qui le fait automatiquement, ComponentAge en offre un. Sinon, vous pouvez lancer le vôtre en ouvrant la boîte de dialogue sur un thread engendré. Si vous souhaitez que la boîte de dialogue apparaisse comme modale dans le formulaire qui l'a ouvert, vous devrez effectuer un travail supplémentaire pour intercepter le handle de la boîte de dialogue ouverte afin de pouvoir définir le focus lorsque le formulaire parent est activé. Un exemple est disponible au http://www.codeproject.com/KB/dialog/CustomizeFileDialog.aspx.
Avez-vous essayé d'exécuter la vidéo ou OpenFileDialog sur un autre thread? – w69rdy
Personnellement, je pense que la solution correcte est de capturer la vidéo dans un autre thread, car sinon 'ShowDialog()' pourrait ne pas être la seule chose qui fige votre vidéo. – Timwi
J'ai placé la vidéo sur un autre thread et cela a résolu mon problème. Merci à tous :) – Seb