2017-02-13 3 views
0

J'ai un formulaire Visual Basic .NET MDI (IsMdiContainer = True) dans Visual Studio 2013 qui est basé sur un System.Windows.Forms.Ribbon. Il contient plusieurs RibbonTabs avec RibbonPanels et RibbonButtons. Si je fais en sorte que l'un de ces panneaux (contenant deux boutons) ne soit pas visible au moment du design, je ne peux plus charger le formulaire au moment du design. Le code du designer ajoute au fichier * .Designer.vb est:RibbonPanel.Visible = Faux casse

Me.pnl_accions_llistats.Visible = False 

qui produit ce message d'erreur:

Exception de type 'System.ComponentModel.Design.ExceptionCollection' a été levée.

Une idée sur la façon de résoudre cela en plus de supprimer le panneau incriminé et leurs boutons? Trouvé que l'utilisation de la ligne fautive à * .vb dans l'événement Load, fonctionne très bien, mais je suis inquiet de l'écrasement du concepteur de cette façon.

J'ai essayé la solution proposée here mais Visual Studio ne m'affiche aucune erreur lors de l'ouverture du formulaire au moment de la conception. Cependant, en utilisant le contrôle de la source, je pourrais facilement identifier la ligne de code du concepteur qui bloque le formulaire.

+0

double possible de [System.ComponentModel.Design.ExceptionCollection] (http://stackoverflow.com/questions/9579544/system-componentmodel-design-exceptioncollection) –

+0

@ProGrammer Merci pour la suggestion, mais cela n'a pas aidé. J'ai prolongé ma question en expliquant cela. –

+0

Beaucoup de contrôles de ruban là-bas, peut-être celui que vous utilisez n'aime pas ça. La solution de contournement simple consiste à définir la propriété Visible à false dans votre code au lieu du concepteur. Ajoutez 'Sub New' si nécessaire, placez-le après l'appel InitializeComponent(). Ou utilisez l'événement Load. –

Répondre

0

La seule solution que j'ai trouvée était d'utiliser la ligne fautive dans l'événement Load à * .vb.