[英]How to add an interator number to a variable name?
在我的程序中,我目前正在以編程方式在C#中添加各種表單對象。 例如,我正在嘗試創建一組面板,其中包含我要顯示的數據。 加載表單時,我有一個文件,其中包含我希望加載的所有數據,加載本身工作正常,但是加載時,我需要創建各種表單標簽,面板和圖像以顯示所有必要數據,並且這樣,我需要以編程方式使這些面板和標簽全部使用單獨的名稱。
for (int i=0; i<fileLength; i++)
{
Panel pnl = New Panel();
pnl.Name = "pnl1"+i;
//Set the other properties here
}
如果要使用迭代器將當前迭代附加到名稱的末尾,我要做什么。 我是否正朝着正確的方向前進? 還是我應該采用其他方法?
您不能在運行時更改變量/對象名稱。 如果要針對該對象編寫代碼,則需要保留對其的引用。 在您的情況下,您已經更改了Panel
的Name
屬性,但是仍然必須將其用作pnl
,而不是pnl0
或pnl1
。
進行此操作的另一種方法是使用Dictionary
,將key作為您分配的名稱,並將value作為對象本身。 這將幫助您使用分配給它的名稱訪問控件。
Dictionary<string, Panel> panels = new Dictionary<string, Panel>();
for (i = 0; i <= 10; i++) {
Panel pnl = new Panel();
panels.Add("pnl" + i.ToString(), pnl);
}
//write code against panels
panels("pnl0").Width = 100;
對於循環內訪問:
foreach (string pnlName in panels.Keys) {
panels(pnlName).Visible = true;
}
for (i = 0; i <= 10; i++) {
panels("pnl" + i).Visible = true;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.