J'essaie de sauvegarder certaines mises en page à partir de Contrôles Grid DevExpress afin que les utilisateurs puissent modifier les mises en page et les recharger lors d'une utilisation ultérieure du contrôle.Événement de fermeture UserControl VB.Net dans Winforms
Ma question est la suivante pour les problèmes de vitesse Je charge le contrôle via un contrôle utilisateur à l'intérieur d'un formulaire. Maintenant, mon problème est que je crée le contrôle en ajoutant une instance du contrôle à un contrôle de panneau à l'intérieur d'un contrôle de groupe à onglets lorsque l'onglet est rendu visible, puis en effaçant le contrôle lorsque le contrôle est caché.
If ClaimsGridPanelControl.Visible = True Then
ClaimsGridPanelControl.Controls.Add(New RXClaimsGridControl(ClaimsBindingSource))
Else
ClaimsGridPanelControl.Controls.Clear()
End If
donc à l'intérieur de la RxClaimGridControl je besoin d'appeler une méthode SaveLayout quand je suis le contrôle de compensation. Mais il n'y a aucun événement, au moins que je peux trouver, qui se déclenche quand un contrôle d'utilisateur est enlevé/fermé/caché. Mes pensées pour gérer le .Clear() serait de déclencher un événement dans le contrôle parent, puis de gérer cet événement dans le contrôle de l'utilisateur.
Y at-il un événement qui me manque en ce qui concerne la suppression/fermeture/dissimulation d'un contrôle utilisateur, ou existe-t-il un meilleur moyen de le faire? Remplacez les méthodes Dispose
ou OnHandleDestroyed
de l'UserControl par les commandes
Je devais changer légèrement la façon dont je nettoyais les formulaires. Modifié du .Clear à un Pour Chaque qui a fait défiler tous les contrôles dans les panneaux Collection Collection et appelé disposer sur les contrôles. – msarchet