我有以下代码来读取面板中某些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
答案 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
的控件。