J'ai implémenté une classe de concepteur personnalisée qui hérite de DocumentDesigner. La classe Form standard dans le .NET Framework utilise la classe FormDocumentDesigner (héritant également de DocumentDesigner) mais comme cette classe est interne, il n'est pas possible d'en hériter et de personnaliser son comportement. J'ai copié la logique dans cette classe en utilisant un réflecteur. dans ma classe de concepteur personnalisé (de sorte que le comportement de temps de conception par défaut pour mon formulaire est conforme au formulaire standard). Tout fonctionne bien sauf une chose: dans la méthode Initialize de ma classe de concepteur personnalisé, je veux insérer un contrôle ToolStrip de sorte que chaque fois que mon formulaire est ouvert pendant la conception, ce contrôle est visible et modifiable. Le problème est que la méthode Initialize est appelée chaque fois que vous fermez et rouvrez le formulaire dans le concepteur qui provoque chaque fois qu'une nouvelle instance du contrôle ToolStrip est créée et ajoutée dans la collection Controls du formulaire. Je cherche un moyen de vérifier s'il existe déjà un contrôle ToolStrip sérialisé dans le code et évite d'en ajouter un autre.Classe Designer personnalisée pour un problème .NET Windows Form
Jusqu'à présent, j'ai découvert que je pouvais utiliser l'événement LoadComplete de IDesignerHost et vérifier s'il y avait un ToolStrip dans la collection Controls du Formulaire. Cependant, de meilleures idées seraient appréciées.
Merci pour votre temps! :-)