Vb: ¿cómo muestro una pantalla de carga al cambiar de pestaña?

programación


Hola, estoy usando el control tabstrip, en una de las páginas tengo un cuadro combinado con una lista de archivos pdf de una fuente de red y un control web para mostrarlos.
No estoy seguro de si un usuario cambiará a esta pestaña y es por eso que estoy cargando la lista de archivos solo en la primera selección de esta pestaña para no ralentizar el formulario que se muestra al hacer esto en el evento de carga. El problema es que hay muchos archivos y tarda unos segundos en cargarlos. Mientras tanto me gustaría mostrar un mensaje de que los archivos se están cargando.

Lo que he probado:

Intenté usar el evento de selección y cuando se hace clic en la pestaña con los dibujos, inicio el subproceso de carga. Antes de iniciar la subrutina de carga, intenté mostrar una etiqueta con el texto “Cargando…” pero por lo que he comprobado, los controles de la página de pestañas se crean en la primera visualización de la pestaña. Entonces, como resultado, la etiqueta ni siquiera se vuelve visible ya que la pestaña se cuelga en la parte posterior y después de cargar el cuadro combinado con datos, se vuelve visible.

If e.TabPageIndex = 7 Then
            lbl_drawings_loading.Visible = True
            drawings_refresh()
            lbl_drawings_loading.Visible = False
End If

Solución 1

En lugar de una ventana emergente de carga, probaría una tarea separada o subprocesos múltiples para cargar la lista.
Multiproceso con VB.NET: la elección de un principiante[^]
¿Tareas/Continuaciones y muerte de ThreadPool?[^]

コメント

タイトルとURLをコピーしました