J'ai créé un formulaire personnalisé avec deux boutons et une zone de texte.C# Formulaire personnalisé lançant COMException à la sortie
Ce formulaire personnalisé est ouvert par un bouton d'événement de clic que j'ai créé sur un complément Microsoft Outlook sur lequel je travaille attaché à un 'Ruban'. (Je ne sais pas si cela compte, pas de problème ici).
Sur le formulaire Windows, le premier bouton enregistre simplement le contenu du fichier texte sur le disque.
L'autre bouton tente de fermer le formulaire. Dans cet événement de clic de bouton, j'ai essayé les deux lignes suivantes, séparément et ensemble
this.Close(); et this.Dispose();
Lorsque j'utilise ce bouton ou la sortie de formulaire (le « x » situé dans le coin supérieur droit d'une forme de fenêtres) Je reçois l'erreur de suivi,
COMException était non gérée par l'utilisateur Exception de HRESULT: 0x800A01A8
Lorsque cette erreur est levée, il me prend pour les fichiers 'Connect.cs de la méthode suivante,
public void OnBeginShutdown(ref System.Array custom)
{
this.toolbarButton.Delete(System.Reflection.Missing.Value);
this.toolbarButton = null;
}
Je ne sais pas comment commencer la résolution de ce sujet. J'ai fait beaucoup de recherches mais malheureusement je n'ai pas trouvé grand-chose. Je suis sûr que le problème est peut-être le fait que j'ai créé un formulaire personnalisé sans expérience et qu'il y a des «pratiques» ou des «bonnes pratiques» que je n'ai pas faites ou dont je suis au courant.
Quelqu'un at-il un aperçu de cela?
Ce code va exploser lorsqu'il sera * deux fois *. Pas tout à fait improbable puisque Form.Close() inclut normalement déjà une disposition. Ajoutez 'if (this.toolbarButton! = Null)' pour être sûr. –