簡體   English   中英

如何修改所有文本元素; Visual Studio C ++

[英]How to modify all text elements; visual studio c++

我正在嘗試為我的winForms應用程序創建顏色主題。 本質上,將發生的是您在設置中選擇一個主題,然后應用程序將使用選定的調色板進行更新。

我的問題是該程序具有數百個文本元素(標簽,列表框,文本框等)。 我想知道是否有某種方式可以一次修改所有文本元素,而不是為每個文本元素(每個顏色主題)寫一行代碼。

我希望有一種方法可以將文本元素分組為“標題”,“字幕”,“主要”,類別,然后將新的顏色值分配給這些組。

謝謝。

System :: Windows :: Forms :: Form類具有名為Controls的只讀屬性。 這是表單上所有子控件的集合。

在C#中,您可以這樣做。 我很確定您可以在C ++ / CLI中執行相同的操作:

var cols = new Dictionary<string, Color>()
{
    { "red", Color.Red },
    { "green", Color.Green },
    { "blue", Color.Blue },
};

var theme = "green";

foreach(var ctrl in Controls)
{
    if (ctrl is TextBox)
        ((TextBox)ctrl).BackColor = cols[theme];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM