Vb – comment afficher un écran de chargement lors d’un changement de page d’onglet

la programmation


Bonjour, j’utilise le contrôle Tabstrip, sur l’une des pages j’ai une liste déroulante avec la liste des fichiers PDF provenant d’une source réseau et un contrôle Web pour les afficher.
Il n’est pas sûr qu’un utilisateur passera à cet onglet et c’est pourquoi je charge la liste des fichiers uniquement sur la première sélection de cet onglet pour ne pas ralentir l’affichage du formulaire en faisant cela lors de l’événement de chargement. Le problème est qu’il y a beaucoup de fichiers et que leur chargement prend quelques secondes. En attendant, je voudrais afficher un message indiquant que les fichiers sont en cours de chargement.

Ce que j’ai essayé :

J’ai essayé d’utiliser l’événement de sélection et lorsque l’on clique sur la page à onglet avec les dessins, je lance le sous-chargement. Avant de lancer le sous-programme de chargement, j’ai essayé d’afficher une étiquette avec le texte “Chargement ..” mais d’après ce que j’ai vérifié, les contrôles de la page d’onglet sont créés lors de la première affichage de l’onglet. Ainsi, l’étiquette ne devient même pas visible car la bande d’onglets est suspendue dans le backgournd et après avoir chargé la liste déroulante avec des données, elle devient visible.

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

Solution 1

Au lieu d’une fenêtre contextuelle de chargement, j’essaierais une tâche distincte ou un multithreading pour charger la liste.
Multithreading avec VB.NET – Un choix pour débutant[^]
Tâches/suites et mort du ThreadPool ?[^]

コメント

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