2014-02-23 25 views

回答

2

有幾種解決方案:

  1. 您可以將所有的形式設置在My.Settings,然後將這些設置應用到每個窗體(應爲每個主題更改設置)。這是一個tutorial,可能會幫助你。

    例(在Load事件處理程序):

    ' ... 
    Me.BackColor = My.Settings.ThemeBackColor 
    ' ... 
    

    如果你有多個主題,用戶可以從中選擇,然後將它們存儲在單獨的設置文件,並將其讀入程序。

    爲了將設置應用於多個控件,請遍歷所有控件並應用設置。有關如何獲取某種類型的所有控件的更多信息,請參閱https://stackoverflow.com/a/4674181/2671135

  2. 你也可以創建一個類似於Public Sub這一個Module

    Public Module Theme 
        Public Sub ApplyTheme(ByRef form As System.Windows.Forms.Form) 
         With form 
          .BackColor = Color.Black 
          .Color = Color.Green 
          ' ... 
         End With 
        End Sub 
    End Module 
    

    內各種形式的Load事件處理程序,只需調用這個方法:

    ApplyTheme(Me) 
    

    再次看到https://stackoverflow.com/a/4674181/2671135更多有關如何通過表單控件循環的信息。

  3. 另一種選擇是創建一個類Inherits System.Windows.Forms.Form。在構造函數方法中,根據需要設置所有設置。然後,對於每個表單,從這個類繼承。

我前一段時間所面臨的同樣的問題,我創建了一個自動化的第二個解決方案一個DLL。查看on GitHub,特別是中的ConfigureWindow方法。它是用C#.NET編寫的,但我希望它能幫助你...

相關問題