C # ToolStrip прозрачен, но граница все еще видна? - PullRequest
4 голосов
/ 09 марта 2011

У меня есть ToolStrip в приложении C #, для которого я установил цвет фона в Прозрачный. Это показывает цвет основной формы, но, к сожалению, граница ToolStrip все еще видна.

Я реализовал Custom Renderer и переопределил метод DrawBoarder, чтобы ничего не рисовать, но, похоже, это применимо и ко всем содержащимся в нем кнопкам (т. Е. Меню на выпадающих кнопках также рисуется без рамки).

Так что я застрял. Какой самый лучший способ нарисовать прозрачным весь ToolStrip, но оставить кнопки в покое?

Ответы [ 3 ]

4 голосов
/ 09 марта 2011

Я попытался просто переопределить метод OnRenderToolStripBorder, и кажется, что он вообще не влияет на кнопки. Вы пробовали это так?

public class TestStripRenderer : ToolStripProfessionalRenderer
{   
    protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
    {
    }
}
2 голосов
/ 09 марта 2011
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
    if( e.ToolStrip.GetType().Name != "MyCustomToolStrip" )
    {
        base.OnRenderToolStripBorder(e);
    }
}
0 голосов
/ 09 марта 2011

Так как вы пытаетесь скрыть панель инструментов, но не нажимаете кнопки, я должен поставить ее там.

Вам даже нужна панель инструментов?

Возможно, будет лучшетолько что использованные кнопки в приложении без, казалось бы, ненужной панели инструментов.

...