簡體   English   中英

如何在 Csharp 中使用字符串引用 ListBox 名稱

[英]How to reference a ListBox name using a string in Csharp

for (int i=1; i<4; i++)
{
    string buttonName = "button" + i;
    if (Controls[buttonName].BackColor = Color.Red)
    {
        Controls[buttonName].Enabled = false;
    }
}

這段代碼完美運行。 該代碼檢查 3 個不同的按鈕(button1、button2、button3),如果它們的顏色為紅色,它們將被禁用。 按鈕名稱使用字符串引用:

Controls[buttonName]

有沒有辦法以相同的方式使用字符串引用 ListBox? “控件”需要更改為什么?

如果您只想查看所有列表框,也可以使用.OfType<T>()

foreach (ListBox lb in this.Controls.OfType<ListBox>())
{
    lb.Enabled = false;
}

...它當然對.OfType<Button>()工作相同,而無需以枚舉它們的方式命名您的控件。

暫無
暫無

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

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