![](/img/trans.png)
[英]In Visual Studio 2019 C++, how can I expand a dynamically allocated array so that all of its elements are displayed?
[英]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.