簡體   English   中英

如何管理多個標簽

[英]How to manage multiple labels

我正在嘗試使用表格制作一些打字游戲,並且需要一些有關標簽的幫助。 因此,我需要用不同的文本創建多個標簽,並且我想知道是否可以使用Label word = new Label()來完成此操作,以便以后可以隨時控制任何標簽或至少首先創建的Label ?

也許有一些我應該閱讀更多的特定主題?

您可以使用標簽數組 ,以后再按索引訪問它們

Label []words = new Label[10];

如果您在編譯時不知道需要多少標簽,則可以使用List

List<Label> lstLabels = new List<Label>();

如果您有固定的標簽限制,則可以執行Adil上面提到的操作,以后可以訪問它們。

 Label []words = new Label[10];

但是,如果您具有動態數量的標簽,則可以選擇在運行時將其添加到表單中,然后再使用反射來訪問它們。

  foreach(Control c in yourForm.Controls)
  if(c is label)
  {
      //your code
  }

您可以將標簽創建為:

Label l = new Label();
l.Location = somepoint;
l.Text = "text" + this.Controls.Count;
this.Controls.Add(l);

檢索完所有標簽之后(在此示例中,將在按鈕單擊事件下):

    private void button1_Click(object sender, EventArgs e)
    {
        //assuming there might be other controls,
        //it will get all labels in the form
        Label[] c = this.Controls.OfType<Label>().ToArray();

        //...do what you need
    }

標簽的順序與添加的順序相同。

例如,如果您只想基於在文本框上輸入的標簽文本得到1個標簽(因為您說過所有不同的文本):

Label c1 = this.Controls.OfType<Label>().Where(l => l.Text.ToLower() == textBox1.Text.ToLower()).Single();

暫無
暫無

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

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