问题
Here is the picture that shows the problem. Take a look at the bottom right corner.
Anyone knows how to get rid of it?
Setting LayoutStyle
to VerticalStackWithOverflow
fixes it but also centers the items horizontally which I don't want.
I just want a vertical stack like in the pic, but without that black line in the bottom right corner.
回答1:
In the properties bar, set "RenderMode" to "System" or use
.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
Doing this will change the .BackColor to "Control" but you can change that after if you want.
回答2:
Sorry for being late to the party, but the accepted answer didn't work for my needs. The following solution is what I came up with:
Getting rid of the black line
1) Create a custom renderer:
class CustomToolStripProfessionalRenderer : ToolStripProfessionalRenderer
{
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
// Don't draw a border
}
}
2) Use the custom renderer:
toolStrip1.Renderer = new CustomToolStripProfessionalRenderer();
Getting rid of the background
The above solution satisfies the need of the original question, but I didn't like the gradient background on the ToolStrip either. I wanted the ToolStrip to be an "invisible" container:
1) Create a custom color table:
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) Use the custom color table:
class CustomToolStripProfessionalRenderer : ToolStripProfessionalRenderer
{
public CustomToolStripProfessionalRenderer()
: base(new CustomProfessionalColorTable())
{
}
protected override void OnRenderToolStripBorder(ToolStripRenderEventArgs e)
{
// Don't draw a border
}
}
回答3:
I think your best shot would be to set the RenderMode
to System
in the properties and leave the layout properties to HorizontalStackWithOverflow
.
But that is if you don't mind changing the tooltip paint style.
来源:https://stackoverflow.com/questions/8527585/how-to-remove-this-strange-visual-artifact-in-the-corner-of-toolstrip-winforms-c