2017-03-31 1 views

Répondre

1

Oui, vous devez faire votre propre moteur de rendu:

public class BorderlessRenderer : ToolStripProfessionalRenderer { 

    public BorderlessRenderer() { 
    RoundedEdges = false; 
    } 

    protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e) { 
    //base.OnRenderToolStripBorder(e); 
    } 
} 

ensuite appliquer à votre contrôle ToolStrip:

toolStrip1.Renderer = new BorderlessRenderer(); 
+0

Quand je fais cela, je vois que le constructeur est appelé, mais aucun des méthodes "OnRender ..." sont appelées. J'essaye même de frapper Refresh() sur la tooltrip. – RedLeader

+1

@RedLeader Je viens de le tester et mon débogueur s'arrête sur la ligne OnRenderToolStripBorder. Assurez-vous que la propriété Renderer de la barre d'outils est définie pour utiliser la classe personnalisée. – LarsTech

+0

Merci pour votre aide. J'ai fait un post plus en profondeur pour cette question de ne pas tirer sur les méthodes ici: http://stackoverflow.com/questions/43193943/toolstriprenderer-not-firing-virtual-methods. Juste pour confirmer, je fais le devoir. – RedLeader