之前我曾问过一个非常类似的问题,但这次不是关于VB语法,而是最好的方法。我正在制作一种方法,当传递一个组件时,它将重新着色它和其中包含的所有组件。下面是我到目前为止的代码,但它不是对所有组件进行重新编码,而只是少数几个。我的主要问题是按钮保持“3D”风格而不会变得“平坦”。
If TypeOf comp Is System.Windows.Forms.ButtonBase Then
Dim c As System.Windows.Forms.ButtonBase
c = comp
c.FlatStyle = Windows.Forms.FlatStyle.Flat
c.BackColor = getColor(style, PART_BOX)
c.ForeColor = getColor(style, PART_TEXT)
comp = c
End If
传递的组件是comp
,getColor
方法查看数据库并返回与传递给方法的part
参数对应的颜色。这适用于所有低级组件和所有简单组件,如标签。
如您所见,这不是我的首选结果。 有没有人知道如何重新着色微调器,按钮和菜单栏?再次,我需要按钮最终 flat 。
答案 0 :(得分:0)
您可以绘制自己的菜单栏。请参阅:http://msdn.microsoft.com/en-us/library/tdk48z0c(v=VS.100).aspx
按钮具有BackColor属性和FlatStyle属性:
http://msdn.microsoft.com/en-us/library/system.windows.forms.buttonbase.flatstyle.aspx