Windows窗体VB - 颜色设置

时间:2017-07-13 15:44:47

标签: vb.net forms

我创建了一个Windows窗体,我希望用户能够在预设的颜色之间进行选择,以便他们可以“个性化”他们的表单。我被迫使用XML文件来存储与所选颜色相对应的值。

我需要弄清楚表单更改所有控件颜色的最快方法。每当程序启动时,都需要在“Form Load”上更改颜色。

表单包含300多个控件(按钮,标签,面板等)

我的替代方案:

1。我可以手动为我的所有控件添加颜色:

    Label1.ForeColor = Color.Black
    Label2.ForeColor = Color.White
    Button1.BackColor = Color.Red
  

但这将需要永远,如果我更新某些内容,我需要跟踪我的控件名称。

2。循环浏览现有控件,如果找到需要更改的控件,请更改它:

Sub SetColorSettings(ByVal parent As Control)

' Loops through all Controls and changes the colors if they match criteria
For Each c As Control In parent.Controls
    If TypeOf (c) Is Button And c.BackColor = Color.White Then ' If It finds a button, and it's White.
         c.BackColor = Color.Black ' Change the color to black
    Else
         If c.HasChildren Then
             SetColorSettings(c)
         End If
    End If
Next

End Sub
  

这是我所知道的最有效的方法,可以快速更改控件的颜色。

第3。分配特定控件的组或标签

  

必须有一种简单的方法将控件分配给一个组,然后我可以改变它的颜色。例如:我有10个按钮,我已将6个分配到一个组中,4个分配到另一个组中。

     

然后,我应该能够以类似于下面的方式更改所有这些组的颜色:

Group1.ForeColor = Color.White
Group2.BackColor = Color.Black

0 个答案:

没有答案