gpt4 book ai didi

.net - 为什么too​​lstriplabel 的backcolor 属性在设计时或运行时不会改变?

转载 作者:行者123 更新时间:2023-12-04 23:28:53 25 4
gpt4 key购买 nike

我需要有一个工具条标签,并且它的背景颜色在运行时会改变,但不管我做什么。它只是不会改变它的背景色,即使他们提供了改变它的背景色的选项。为什么会这样,您如何在运行时或设计时更改其背景色属性?

提前致谢,

最佳答案

这受 ToolStrip 的 RenderMode 设置的影响。只有当您将其更改为 System 时,BackColor 属性才会生效。其他渲染器使用主题颜色。您可能不会非常喜欢 System,但您也可以通过实现自己的渲染器来吃蛋糕和吃它。让它看起来像这样:

public partial class Form1 : Form {
public Form1() {
InitializeComponent();
this.toolStrip1.Renderer = new MyRenderer();
}
private class MyRenderer : ToolStripProfessionalRenderer {
protected override void OnRenderLabelBackground(ToolStripItemRenderEventArgs e) {
using (var brush = new SolidBrush(e.Item.BackColor)) {
e.Graphics.FillRectangle(brush, new Rectangle(Point.Empty, e.Item.Size));
}
}
}
}

关于.net - 为什么too​​lstriplabel 的backcolor 属性在设计时或运行时不会改变?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8037406/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com