首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >下拉菜单属性

下拉菜单属性
EN

Stack Overflow用户
提问于 2009-07-31 08:52:43
回答 2查看 771关注 0票数 0

有没有人知道我能不能以及如何在visual studio 2008中通过简单的下拉菜单改变图像条的颜色?目前我有一个下拉菜单,我有自己的项目集合,在每个下拉菜单上的旁边都是一个图像条,它是灰色的,带有从亮到暗的渐变。我很想知道这个颜色是否可以改变,或者完全去掉?先谢谢你们,克雷格。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-31 10:25:07

我假设你问的是winforms,因为我不知道WPF。

如果只想隐藏图像条,可以将ShowImageMarginShowCheckMargin属性设置为false。但是,您将无法显示菜单项的图像。

至少在XP上,将dropdown的RenderMode属性设置为ToolStripRenderMode.System将为您提供一个没有任何图像边距装饰的菜单;尽管它可能与您的应用程序的视觉样式不匹配。

如果为每个菜单项设置BackColor,则图像边距将变得模糊。

要在不更改下拉列表的视觉样式的情况下隐藏图像边距,您需要创建一个带有空OnRenderImageMargin函数的渲染器,如下所示:

代码语言:javascript
复制
class MyRenderer : ToolStripProfessionalRenderer
{
    protected virtual void OnRenderImageMargin(ToolStripRenderEventArgs e)
    {
        // do nothing
    }
}

然后将dropdown的Renderer属性设置为新渲染器类的实例。您可以通过修改渲染器的ColorTable,以类似的方式更改图像边距的颜色。

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

  • 将界面更改为不太熟悉的界面是否对易用性有好处?
  • 如果有,这一好处是否大于保持代码简单以便快速响应用户反馈的好处?

第一个问题的答案通常是“不”。

票数 0
EN

Stack Overflow用户

发布于 2009-07-31 10:04:29

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1211386

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档