Empecemos explicando: Soy nuevo utilizando procesos en paralelo y desames.
Mi problema es el siguiente:
Tengo una ventana de LogIn en la cual quiero que cuando se le de a ingresar aparezca un ProcessRing(Estoy utilizando MahApps Metro en una app WPF) y el cual en segundo plano valla cargando la visual que sigue y cuando este termine de cargar el ProcessRing se detenga y desaparezca cerrando la visual y abriendo la otra. Para intentar hacer esto cree el siguiente código:
(Cabe aclarar que tambien quiero que mientras este el ProcessRing se la visual quede inutilizable)
Código
Imports System.ComponentModel Imports MahApps.Metro.Controls Imports MahApps.Metro.Controls.Dialogs Public Class LogicLogIn : Inherits MetroWindow Dim bw As New BackgroundWorker Sub New() InitializeComponent() bw.WorkerReportsProgress = True AddHandler bw.DoWork, AddressOf bw_DoWork AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted End Sub Private Sub BtnLogIn_Click(sender As Object, e As RoutedEventArgs) Handles BtnLogIn.Click If TxtUser.Text.Equals("") Or TxtPass.Password.ToString.Equals("") Then Me.ShowMessageAsync("Alerta", "Usuario o Contraseña incorrecta") Else Ring.Visibility = Visibility.Visible Ring.IsActive = True If Not bw.IsBusy = True Then bw.RunWorkerAsync() End If End If End Sub Private Sub bw_DoWork(sender As Object, e As DoWorkEventArgs) Dim worker As BackgroundWorker = CType(sender, BackgroundWorker) Dim menu As New LogicMainMenu() Me.Close() menu.ShowDialog() End Sub Private Sub bw_RunWorkerCompleted(sender As Object, e As RunWorkerCompletedEventArgs) If e.Cancelled = True Then 'si se cancela ElseIf e.Error IsNot Nothing Then 'si hay algun error al hacerce la tarea en el hilo MsgBox(e.Error.Message.ToString) Else Ring.IsActive = False Ring.Visibility = Visibility.Hidden End If End Sub End Class
La cosa esta que a la hora de ejecución cuando cumplo los valores de validación y le doy al botón aceptar aparece el ProcessRing se activa y me lanza un error.
Les dejo imágenes del programa:
Img 1
Img2
Img 3
Espero me puedan ayudar desde Ya muchas gracias