【发布时间】:2014-08-30 00:47:27
【问题描述】:
我的应用中有很多按钮,其中一些按钮在各种情况下被禁用。 问题是,当 .Enabled = False 时,按钮“看起来不对”
以下是可以类似地应用于所有按钮的属性列表示例。
.BackColor = Color.Goldenrod
.Flatstyle = FlatStyle.Flat
.FlatAppearance.MouseOverBackColor = Color.White
.FlatAppearance.BorderSize = 0
.BackgroundImageLayout = ImageLayout.Stretch
.BackGroundImage = My.Resources.Resources.ButtonFade 'This image is translucent, giving the rounded 3D look as shown below.
.ForeColor = Color.Black
.Image = My.Resources.Resources.refresh 'May be other images.
.Text = "RELOAD"
.BackColor 属性可以是各种颜色,由用户通过“主题”设置。
为了说明我的担忧,下面是三个按钮的截图。 “新”已启用。 “保存”被禁用。尽管“NEW”和“SAVE”看起来很相似,但“SAVE”的文本和图像对比度较低。
我希望所有禁用的按钮看起来更像“重新加载”。也就是说,为了更好的易读性,我希望文本和图像保持纯黑色,但我可以设置 BackgroundImage = Nothing 所以它看起来不是 3D。 (对用户而言,模型是“如果不是 3D,则不可点击。”)我可能还会修改禁用按钮的背景颜色,但这部分很简单。当我设置 Enabled = False 时,我只需要系统停止“灰显”文本和图像。
为了得到这个截图,“RELOAD”实际上是启用的,但我已经删除了它的背景图片。问题是,它仍然可以点击。
如何获得我想要的外观?
【问题讨论】:
-
您可以自己绘制禁用图像。
-
并非如此。当按钮被禁用时,我绘制的任何图像都会变灰(对比度较低)。当按钮被禁用时,我想覆盖文本和图像的“灰显”。
标签: vb.net winforms look-and-feel