2009-05-11 5 views
0

J'utilise un SaveFileDialog et je voudrais évaluer si un fichier remplit certaines conditions avant de permettre son enregistrement. S'il ne répond pas aux critères, je ne souhaite pas que SaveFileDialog se ferme lorsque l'on clique sur "Enregistrer". Je pensais que le FileOK pouvait fonctionner, mais la boîte de dialogue semble être déjà fermée au moment où l'événement est déclenché, et je ne vois aucun moyen de l'empêcher de se fermer dans tous les cas.Comment puis-je valider un nom de fichier avant la fermeture de SaveFileDialog?

Répondre

3

FileOK est un CancelEventHandler - il vous suffit de définir la propriété Cancel du CancelEventArgs à true.

+0

Merci, c'est exactement ce qu'il me fallait. BTW, vous avez une faute de frappe: "CencelEventArgs". –

3

Essayez cette approche du gestionnaire FileOK

private void openFileDialog1_FileOk(object sender, CancelEventArgs e) 
{ 
    //your conditions... 
    if (!openFileDialog1.FileName.Equals("C:\\hello.txt")) 
    { 
     //if fail, set e.cancel 
     MessageBox.Show(@"File name must equal c:\hello.txt."); 
     e.Cancel = true; 

    }    
} 
Questions connexes