在面板中读取控件
本文关键字:读取 控件 | 更新日期: 2023-09-27 17:51:18
我有下面的代码来读取面板中一些checklistbox对象的所有项。在这个面板中还有一些其他控件,比如标签。在正确阅读了一些项目后,我出现了一个错误。你能帮我改一下代码吗?提前谢谢你。
foreach (CheckedListBox chb in PanelControls.Controls)
{
foreach (var itm in chb.Items)
{
MessageBox.Show(itm.ToString());
}
}
错误:无法强制转换类型为"System.Windows.Forms"的对象。System.Windows.Forms.CheckedListBox
使用
PanelControls.Controls.OfType<CheckedListBox>()
您需要确保当前控件实际上是CheckListBox
。
这样就足够了:
foreach (Control c in PanelControls.Controls)
{
if (c is CheckListBox)
{
// Do your actions
}
}
或者像这样的东西也可以帮助你:
foreach (var control in PanelControls.Controls.OfType<CheckListBox>())
{
...
}
您现在只遍历实际上是CheckListBox
的控件。