Извините за опоздание на вечеринку, но принятый ответ не сработал для моих нужд.Я пришел к следующему решению:
Избавление от черной линии
1) Создайте пользовательский рендер:
class CustomToolStripProfessionalRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
// Don't draw a border
}
}
2) Используйте пользовательский рендерер:
toolStrip1.Renderer = new CustomToolStripProfessionalRenderer();
Избавление от фона
Приведенное выше решение удовлетворяет потребности исходного вопроса, но мне также не понравился градиентный фон на ToolStrip.Я хотел, чтобы ToolStrip был «невидимым» контейнером:
1) Создайте таблицу пользовательских цветов:
class CustomProfessionalColorTable : ProfessionalColorTable
{
public override Color ToolStripGradientBegin
{
get { return SystemColors.Control; }
}
public override Color ToolStripGradientMiddle
{
get { return SystemColors.Control; }
}
public override Color ToolStripGradientEnd
{
get { return SystemColors.Control; }
}
}
2) Используйте таблицу пользовательских цветов:
class CustomToolStripProfessionalRenderer : ToolStripProfessionalRenderer
{
public CustomToolStripProfessionalRenderer()
: base(new CustomProfessionalColorTable())
{
}
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
// Don't draw a border
}
}