12
votes

Comment désactiver la ligne sous la bande d'outils dans Winform C #?

 text alt

cette ligne?


1 commentaires

Comment avez-vous obtenu le fond blanc? Ce n'est pas standard.


3 Réponses :


47
votes

C'est un bug dans le rendu "système", détails dans Rapport de bogue .

La réponse de Microsoft donne une solution de contournement très facile: p>

1) Créer une sous-classe de Toolstripsystemrenderer code>, Remplacer Onrendertoolstripborder code> et En ce qui concerne un NO-OP: P>

toolStrip3.Renderer = new MySR();


2 commentaires

+1, mais j'ai édité la réponse à Inclure la réponse plutôt que de le pointer uniquement. Stackoverflow doit rester seul, les liens externes peuvent pourrir. Ils font une bonne adjonction, mais le contenu principal devrait être sur lui-même.


Pourquoi cela arrête-t-il ma candidature?



10
votes

Vous voudrez peut-être ajouter une vérification de type pour éviter la bordure manquante sur ToolstripDropDownMenu / etc. (Depuis hérité de Toolstrip , il démarre automatiquement la même utilisation personnalisée de rendu personnalisé): xxx

manquée ToolstripDropDownMenu La bordure n'est pas si notable lors de l'utilisation de < Code> ToolstripsystemRenderer Mais deviennent de véritables yeux avec ToolstriProfessionalRenderer .

aussi, réglage system.windows.forms.toolstripmanager.renderer = nouveau mysR (); < / Code> pourrait être utile si vous voulez que tous les Toolstrip instances appwide à utiliser mysR par défaut.


0 commentaires

1
votes

Cette classe est plus complète que les autres!

public class ToolStripRender : ToolStripProfessionalRenderer
{
    public ToolStripRender() : base() { }

    protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
    {
        if (!(e.ToolStrip is ToolStrip))
            base.OnRenderToolStripBorder(e);
    }
}


0 commentaires