如何在ToolStrip Winforms控件的角落删除这个奇怪的视觉神器?
这是显示问题的图片。 看看右下角。
谁知道如何摆脱它?
将LayoutStyle
设置为VerticalStackWithOverflow
修复它,但也会将项目水平居中,这是我不想要的。
我只想要像照片中的垂直堆栈,但右下角没有黑色线条。
在属性栏中,将“RenderMode”设置为“System”或使用
.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;
这样做会将.BackColor更改为“Control”,但您可以根据需要更改。
很抱歉迟到了,但接受的答案对我的需求不起作用。 我想出了以下解决方案:
摆脱黑线
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 } }
我认为你最好的方法是在属性中将RenderMode
设置为System
,并将布局属性保留为HorizontalStackWithOverflow
。 但那就是你不介意改变工具提示的绘画风格。