Как я могу проверить имя файла до закрытия SaveFileDialog? - PullRequest
0 голосов
/ 11 мая 2009

Я использую SaveFileDialog и хотел бы оценить, соответствует ли файл определенным условиям, прежде чем разрешить его сохранение. Если это не соответствует критериям, я не хочу, чтобы SaveFileDialog закрывался при нажатии кнопки «Сохранить». Я думал, что FileOK может работать, но диалог выглядит так, как будто он уже закрыт к моменту запуска события, и я не вижу способа предотвратить его закрытие в любом случае.

Ответы [ 3 ]

3 голосов
/ 11 мая 2009

FileOK - это CancelEventHandler - вам просто нужно установить свойство Cancel CancelEventArgs на true.

3 голосов
/ 11 мая 2009

Попробуйте этот подход из обработчика 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;

    }            
}
0 голосов
/ 11 мая 2009
...