0

我之前问过一个非常相似的问题,但这次不是关于 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这适用于所有低级组件和标签等所有简单组件。

这就是发生的事情。 如您所见,颜色被提取并正确应用于许多组件,但不是全部。

如您所见,这不是我的首选结果。有谁知道如何重新着色微调器、按钮和菜单栏?同样,我需要按钮最终变

4

1 回答 1

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

于 2011-04-27T19:50:39.677 回答