SAVEFILEDIALOG

ARNALDOCRUZ 26/09/2011 17:13:29
#385294
colegas tenho o codigo abaixo para salvar um arquivo

o problema é que para executar a ação do botão

SALVAR - tenho que clicar duas vezes no botão salvar para ele salvar o arquivo
CANCELAR - tenho que clicar 3 vezes para ee fechar o savedialog.

SaveFileDialog save = new SaveFileDialog();
save.Filter = [Ô]Adobe (*.pdf)|*.pdf|Excel (*.xls)|*.xls[Ô];
save.FileName = [Ô]Relatorio.pdf[Ô];
save.ShowDialog();
string cam = [Ô][Ô];
string Arquivo = [Ô][Ô];
string varExtensao = [Ô][Ô];
if (save.ShowDialog() == DialogResult.OK)
{
if (save.FileName != [Ô][Ô])
{
varExtensao = System.IO.Path.GetExtension(save.FileName);
cam = varExtensao;
Arquivo = save.FileName;
if (cam == [Ô].pdf[Ô])
{
//Salvo em formato pdf
}
else if (cam == [Ô].xls[Ô])
{
//salvo em format xls
}
}
else
{
save.Dispose();
this.SuspendLayout();
}
}
else if (save.ShowDialog() == DialogResult.Cancel)
{
save.Dispose();
this.SuspendLayout();
}
RODRIGOFERRO 26/09/2011 17:35:50
#385299
Resposta escolhida
Voce esta usando da forma errada, toda vez que voce da ShowDialog ele mostra a tela do save...

Entao eu vi 3 Showdialog ai e vai aparecer 3 Vezes mesmo !



private void mnuFileSave_Click(object sender, EventArgs e)
{
dlgFileSave.Filter = [Ô]RTF Files|*.rtf|[Ô]+[Ô]Text files (*.txt)|*.txt|All files (*.*)|*.*[Ô];
dlgFileSave.FilterIndex = 1;
if (dlgFileSave.ShowDialog() == System.Windows.Forms.DialogResult.OK && dlgFileSave.FileName.Length > 0)
{
foreach (string strFile in dlgFileSave.FileNames)
{
SingleDocument document = new SingleDocument();
document.rtbNotice.SaveFile(strFile, RichTextBoxStreamType.RichText);
document.MdiParent = this;
document.Show();
}
}
}



Olha um exemplo do codigo dentro do botao !
Eu ja dou o showdialog Ja verificando o Resultado !

Abraços
Tópico encerrado , respostas não são mais permitidas