Problema Formulario de espera
Publicado por Marcos (6 intervenciones) el 25/06/2020 16:15:44
Buenas tardes a todos...
Tengo un problema con un formulario que estoy implementando para cuando hay esperas largas en la aplicación.
Os comento:
Tengo una clase que implementa la interface IDisposable.
El problema que tengo es que cuando ejecuto la aplicación por primera vez funciona todo correctamente, pero si vuelvo a ejecutarlo el formulario espera es nulo, no ejecuta el método dispose y el formulario se queda abierto.
Gracias por vuestro tiempo.
S2
Tengo un problema con un formulario que estoy implementando para cuando hay esperas largas en la aplicación.
Os comento:
Tengo una clase que implementa la interface IDisposable.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public class Espera : IDisposable
{
FrmEspera fEspera;
public Espera(string texto = "Espere...")
{
Task.Run(async () => await mostrarFormulario(texto));
}
private Task mostrarFormulario(string texto)
{
return Task.Run(() =>
{
fEspera = new FrmEspera(texto);
fEspera.ShowDialog();
});
}
public void Dispose()
{
try
{
fEspera?.InvokeIfRequired(() => fEspera.Dispose());
GC.SuppressFinalize(this);
}
catch (Exception ex)
{
Log.Instance.Error($"Error Espera => {ex.Message}");
}
}
}
El problema que tengo es que cuando ejecuto la aplicación por primera vez funciona todo correctamente, pero si vuelvo a ejecutarlo el formulario espera es nulo, no ejecuta el método dispose y el formulario se queda abierto.
1
2
3
4
5
6
7
8
9
private async void btnGuardar_Click(object sender, EventArgs e)
{
using (new Espera("Asigando reglas al perfil..."))
{
//mi método....
}
MessageBox.Show("Los cambios se realizaron correctamente")
}
Gracias por vuestro tiempo.
S2
Valora esta pregunta


0