Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con SaveDialog

Estas en el tema de Problema con SaveDialog en el foro de .NET en Foros del Web. Hola que tal, bueno tengo un problema al momento de usar el SaveDialog. Mi problema consiste en que genero 2 archivos en un ciclo. Con ...
  #1 (permalink)  
Antiguo 06/12/2011, 17:44
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Problema con SaveDialog

Hola que tal, bueno tengo un problema al momento de usar el SaveDialog. Mi problema consiste en que genero 2 archivos en un ciclo. Con el primero si se ejecuta correctamente el SaveDialog.ShowDialog(), pero al dar la vuelta ya no se ve el Dialog en pantalla ni tampoco en la barra de herramientas, pero al darle Alt + Tab veo que esta activa la pantalla del dialogo

Mi codigo es el siguiente:
for (int i = 0; i < 2; i++)
{
nOpcion = i;
sfdGrabarPdf.Filter = @"pdf files(*.pdf)|*.pdf";
if (i == 0)
{
sfdGrabarPdf.FileName = @"C:\1.pdf";

string[] ArchivosCombinar = new string[] { @sNombre1Pdf, @sNombre2Pdf, @sNombre3Pdf };
sCombinarPdfs = ArchivosCombinar;
}
else
{
sfdGrabarPdf.FileName = @"C:\2.pdf";
string[] ArchivosCombinar = new string[] { @sNombre1Pdf, @sNombre2Pdf };
sCombinarPdfs = ArchivosCombinar;
}
if (sfdGrabarPdf.ShowDialog() == DialogResult.OK && sfdGrabarPdf.FileName.Length > 0)
{
Genero la informacion que contendra el archivo.

sfdGrabarPdf.Dispose();
}
else
{
MessageBox.Show("No se proporciono un nombre", sTitulo, MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
Al dar la primera vuelta, si se activa sin problemas el sfdGrabarPdf.ShowDialog(), pero en la segunda vuelta no se activa y pues necesito que se active, para que el usuario proporcione un nombre valido.

Si alguien tiene alguna solucion se lo agradeceria mucho
  #2 (permalink)  
Antiguo 06/12/2011, 18:40
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Problema con SaveDialog

Hola que tal, pues ya lo resolvi. Es un metodo que no me gusto mucho, pero pues por mientras sirve

Lo que hice, fue declarar 2 SaveFileDialog y con eso ya me aparecen las pantallas. Repito no es de mi agrado , pero en lo que encuentro otro metodo ese puede servir
  #3 (permalink)  
Antiguo 06/12/2011, 19:26
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Problema con SaveDialog

De nuevo yo, pues despuede hacer pruebas no funciona .

Vi que si uso el SaveDialog, funciona la primera vez, pero si lo quiero volver a utilizar otra vez ya no funciona, aun cuando son diferentes SaveDialog.

Tendre que seguir con las pruebas
  #4 (permalink)  
Antiguo 07/12/2011, 04:35
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: Problema con SaveDialog

No hagas el Dispose hasta que salgas del bucle for, porque sino se liberan los recursos del SaveDialog y por eso puede estar dandote problemas.
  #5 (permalink)  
Antiguo 07/12/2011, 12:06
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Problema con SaveDialog

Hola que tal, gracias por responder alexg88.

El Disponse lo pongo afuera del ciclo, pero sigo con el mismo problema. Es como si el segundo SaveDialog se ejecutara pero se escondiera y se fuera atras de las pantallas que tenga yo abiertas. Ya intente poniendo un mensaje indicando que se grabo el primer archivo con exito, pero le pasa lo mismo al mensaje, tengo que darle click para que me lo traiga al frente de las demas pantallas.

Sigo investigando ...
  #6 (permalink)  
Antiguo 12/12/2011, 12:28
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Problema con SaveDialog

Hola que tal, por fin pude hacer que el mensaje me apareciera.

Lo que hice fue que antes de poner el mensaje, anexe la linea this.Activate();

Con esto si un mensaje se esta ocultando, les aparecera al frente de todas las pantallas

Por si alguien le sirve
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:39.