2016-06-16 12 views
1

Ich habe ein Formular mit ToolStrip und ich legte darauf ToolStripSplitButton.ToolStripSplitButton Splitter Ausgabe

toolStrip1.BackColor = Color.White; 
    toolStrip1.GripStyle = ToolStripGripStyle.Hidden; 

    splitButton.Image = PlusPic; 
    splitButton.Size = new Size(30, 30); 
    splitButton.Visible = true; 
    toolStrip1.Items.Add(splitButton); 

Und es sieht wie folgt aus:

enter image description here

Aber aus irgendeinem Grund habe ich benutzerdefinierte Renderer für ToolStrip verwenden.

class ToolstripCustomRenderer : ToolStripSystemRenderer { } 

toolStrip1.Renderer = new ToolstripCustomRenderer(); 

Und nachdem ich Renderer gesetzt änderte es Aussehen ToolStripSplitButton. Es ist unabhängig davon, welche Methoden ich überschreibe in ToolstripCustomRenderer. Also meine ToolStripSplitButton sieht anders aus:

enter image description here

Und ich will von Splitter, um loszuwerden, die angezeigt wird. Aber ich habe keine Ahnung, wie ich das machen soll.

+0

Falsche Basisklasse, stattdessen von ToolStripProfessionalRenderer abgeleitet. –

+0

Perfekt! Es war so einfach. Mach deinen Kommentar als Antwort und ich werde es akzeptieren. – melya

+0

Sicher weißt du, wie du die Q + A, die du jetzt angefangen hast, vervollständigst? Einfach die Lösung selbst posten und als Antwort zum Schließen der Frage markieren. –

Antwort

1

Die Antwort ist nur ToolStripProfessionalRenderer als übergeordnete Klasse für benutzerdefinierte Renderer zu verwenden. (Hans Passant)