阅读面板中的控件

时间:2014-03-21 17:14:06

标签: c#

我有以下代码来读取面板中某些checkedlistbox对象的所有项目。此面板中还有一些其他控件,例如标签。正确阅读了一些项目后,我发现了一个错误。你能帮我解决一下如何更正代码: 非常感谢先进。

    foreach (CheckedListBox chb in PanelControls.Controls)
    {
        foreach (var itm in chb.Items)
        {
            MessageBox.Show(itm.ToString());
        }
    }

错误: 无法转换类型为#System.SWindows.Forms.Label'的对象。键入' System.Windows.Forms.CheckedListBox

2 个答案:

答案 0 :(得分:1)

使用

PanelControls.Controls.OfType<CheckedListBox>()

答案 1 :(得分:0)

您需要确保当前控件实际上是CheckListBox

这样的东西就足够了:

foreach (Control c in PanelControls.Controls) 
{ 
  if (c is CheckListBox) 
  { 
   // Do your actions
  }
}

或者类似的东西也可以帮到你:

foreach (var control in PanelControls.Controls.OfType<CheckListBox>())
{
   ...
}

您现在只循环实际为CheckListBox的控件。