【问题标题】:How to change colour of ToolStrip DropDown arrow?如何更改 ToolStrip 下拉箭头的颜色?
【发布时间】:2014-01-28 18:54:53
【问题描述】:

在我的 Winforms 应用程序中,我有一个工具条,我将它的 BackColor 属性设置为黑色。一切都很好,除了工具栏上的每个下拉按钮都将其下拉箭头绘制为黑色,从而使其不可见。我的问题是,如何更改此箭头的颜色?我在工具条渲染器中寻找有用的东西,但我只能找到 ToolStripDropDownBackground。那么,例如,我如何使它变白?谢谢

【问题讨论】:

  • 您可能必须为按钮派生自己的类并通过属性或自己绘制来更改它。

标签: c# toolstrip


【解决方案1】:

创建自己的渲染器:

public class MyRenderer : ToolStripRenderer {

  protected override void OnRenderArrow(ToolStripArrowRenderEventArgs e) {
    e.ArrowColor = Color.White;
    base.OnRenderArrow(e);
  }

}

要使用它,请设置您的 ToolStrip 控件:

toolStrip1.Renderer = new MyRenderer();

【讨论】:

  • 完美!谢谢,你让我开心! +1
  • 我被 System.Windows.forms.Toolbar() 控制卡住了。有没有可能用工具栏做这样的事情?
  • @shakthi 我非常怀疑这一点。 Toolbar 类被 ToolStrip 类取代是有充分理由的。
  • 好的,我正在处理一个大型应用程序。那么是否可以用工具条替换特定的工具栏?如果我这样做,事件会发生什么?我也找到了这个链接codeproject.com/Articles/12953/…
  • @shakthi 这不是替代品。您必须将这些点击事件重新连接到新的点击事件。我会尝试将 ToolStrip 添加到表单(以便您在表单上同时拥有 Toolbar 和 ToolStrip 控件),然后重新创建所有按钮及其功能。完成后,删除旧的 ToolBar。希望您使用的是源代码控制(git、svn 等),这样如果它不起作用,您可以恢复到旧代码。如果没有,请先复制一份。
猜你喜欢
  • 1970-01-01
  • 2020-01-12
  • 2022-08-19
  • 2015-02-10
  • 2015-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-02-11
相关资源
最近更新 更多