簡體   English   中英

如何在c#中顯示具有其他名稱的標簽

[英]How to visible label with other name in c#

我有標簽和他們的名字,如 label1,label2,... 等,我知道如何顯示標簽,如label1.visible = true但我想做的是讓其中一些標簽與其他名稱可見,如下面的代碼

            for (i = 0; i < ceksayisi*2; i++)
            {
                num = i;
                labelname = "label" + num;
                labelname.visible = true;
            }

代碼給我'string' does not contain a definition for 'visible' and no extension method 'visible' accepting a first argument of type 'string' could be found (are you missing a using directive or an assembly reference?)

你在這里犯了一個經典的錯誤。 您正在尋找的 Droid 是數組和其他集合。 你不能在一些真正弱類型的語言之外構建這樣的變量名。

沒有 .NET 語言是弱類型的。 這是設計使然。

為此,您應該在此處使用 Dictionary。

Dictionary<string, Label> keyValuePairs = new Dictionary<string, Label>();

並使用相應的鍵在字典中添加您的標簽

keyValuePairs.Add("label_" + num, label1);

您可以訪問您的標簽,例如

Label lbl = keyValuePairs["label" + num];

然后你可以玩這個 lbl

lbl.Visible = false;

由於這是一種區分大小寫的編程語言,因此它不適用於labelname.visible = true; 但你必須用以下代碼更改那段代碼: labelname.Visible = true;

編輯:

可能誤解了,如果您嘗試動態顯示/隱藏您不知道名稱的標簽,您可以嘗試執行以下操作:

for(int i = 0; i < ceksayisi*2; i++)
{
    num = i;
    Label labelname = (Label) Controls.Find("label" + num, true).FirstOrDefault();
    labelname.Visible = true;
}

希望這可以幫助。

暫無
暫無

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

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