没有人知道,如果和如何我能够改变颜色的图像带上的一个简单的下降在visual studio2008年?目前与下拉菜单我有我自己的collectn的项目,以及旁边的每一个下拉菜单是一个图像带,这是目前一个灰色的光深度梯度。我渴望了解如果这个颜色可以被改变或可能完全去除?在此先感谢这家伙,克雷格。

有帮助吗?

解决方案

我会假设你要求关于它,因为我不知道WPF.

如果你只是想要隐藏的图像带,可以套的 ShowImageMarginShowCheckMargin 性错误的。但是,你不能显示器的图像对你的菜单的项目。

在XP至少,设置 RenderMode 酒店的下拉 ToolStripRenderMode.System 会给你菜单上没有任何图像的保证金装饰;虽然它可能不匹配的视觉型的应用程序。

如果你设置一个 BackColor 每个你的菜单项、图像保证金将被遮蔽。

隐藏的图象的保证金不改变这些风格的下拉菜单,你只需要创建一个渲染具有空 OnRenderImageMargin 功能,像这样:

class MyRenderer : ToolStripProfessionalRenderer
{
    protected virtual void OnRenderImageMargin(ToolStripRenderEventArgs e)
    {
        // do nothing
    }
}

然后设置拉的 Renderer 酒店的一个实例新的渲染的课。你可能会改变颜色的图像保证金的一个类似的方式通过修改渲染的 ColorTable.

但是,在你做这些,问问自己:

  • 是否有一个实用性的利益改变的界面,以一些不太熟悉吗?
  • 如果有,是这样的好处大于益处保持你的代码简单的,所以你可以迅速响应用户的反馈意见吗?

在回答第一个问题通常是"不"。

其他提示

您可以通过创建ToolStripRenderer的子类并覆盖相应的呈现方法来实现此行为。有关示例,请参阅MSDN。

我假设您正在寻找WinForms解决方案。对于WPF / Xaml,解决方案当然是完全不同的,可以通过更改控件模板来完成。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top