【发布时间】:2014-07-16 01:45:05
【问题描述】:
在搜索我的解决方案时
找到这篇文章
Loop through controls in TabControl
它确实帮助了我
我成功地通过我需要的 TabPage 创建了一个循环
但它只更改第一个选中列表框(我知道为什么!)
我不明白的是如何更改我循环的所有项目
我知道我需要使用类似的东西:_C.items.add(value);
这是代码:
foreach (TabPage TPage in ShiftsViewTab.TabPages)
{
if (TPage.Name.Equals("tabPage2"))
{
var TabPageControlls = TPage.Controls;
foreach( Control _C in TabPageControlls)
if (_C is CheckedListBox)
{
checkedListBox1.Items.Clear();
foreach (string _Val in Settings.Default.ShiftList)
{
checkedListBox1.Items.Add(_Val);
}
}
}
}
尝试使用:
foreach (TabPage TPage in ShiftsViewTab.TabPages)
{
if (TPage.Name.Equals("tabPage2"))
{
var TabPageControlls = TPage.Controls;
foreach(CheckedListBox _C in TabPageControlls)
_C.Items.Clear();
foreach (string _Val in Settings.Default.ShiftList)
{
_C.Items.Add(_Val);
}
}
}
}
但后来遇到了其他控件的问题...
请指教
谢谢!!
【问题讨论】:
-
我知道它用上面的代码循环了所有需要的控件(checkedlistboxes)但是改变了第一个checkedlistbox的7倍(硬编码)
标签: c# winforms loops controls