2010-01-04 4 views
1

J'ai un formulaire qui est affiché par: ShowDialog(). Le formulaire n'a pas CancelButton spécifié.C# - Fermer le dialogue de navigation provoque la fermeture du formulaire

Lorsque j'ouvre un BrowseDialog à partir du formulaire, puis ferme le BrowseDialog, le formulaire est également fermé. Comment puis-je empêcher cela?

Lorsque le "browse" -bouton est cliquée:

browseDialog.SelectedPath = projectLocation.Text; 
browseDialog.ShowDialog(); 

if (browseDialog.SelectedPath != "") 
{ 
     projectLocation.Text = browseDialog.SelectedPath; 
} 

Lorsque le "cancel" -bouton du formulaire est cliqué:

Close(); 
+1

Pouvez-vous envoyer votre code ? –

+0

Montrez-nous du code. Vous appelez probablement Form.Fermer quelque part ... –

+0

Projet WinForm avec un formulaire sur lequel vous avez un 'FolderBrowserDialog? fyi: Je ne peux pas répliquer le comportement que vous décrivez à l'aide de la compilation de VS Studio 2010 beta 2 sur .NET FrameWork 3.5. – BillW

Répondre

6

Je suppose que la Le bouton que vous utilisez pour afficher BrowseDialog a son paramètre DialogResult défini sur autre chose que None.

Si ce n'est pas le cas, veuillez poster du code.

+0

Oh lol, c'était tout. Je ne pensais même pas que le bouton Parcourir était réglé sur Annuler. Merci beaucoup! : D – MysticEarth

+0

Oui, peut se produire si vous copiez-collez des contrôles. – liggett78

+0

HAHAHA! C'était aussi mon problème. Merci d'avoir répondu. Je serai beaucoup plus prudent pendant la copie et le collage. – JSON

0

dans votre événement OnClosing de votre boîte de dialogue du navigateur, effectuez un contrôle sur l'expéditeur arg pour voir quel dialogue demande la fin et si ce n'est pas le DLG du navigateur, définissez e.Cancel = true