我的Windows窗体上有一个带有10个项目的checkedListBox。使用C#VS210。
我正在寻找一种简单的方法,通过使用存储在Settings.Settings文件中的值(存储为System.Collections.Specialized.StringCollection)来标记检查我的checkedListBox中的2个项目。我无法在那里找到这个例子,我知道我应该以某种方式使用CheckedListBox.CheckedItems属性,但还没有找到一个例子。
private void frmUserConfig_Load(object sender, EventArgs e)
{
foreach (string item in Properties.Settings.Default.checkedListBoxSystem)
{
checkedListBoxSystem.SetItemCheckState(item, CheckState.Checked);
}
}
答案 0 :(得分:1)
如何使用Extension method?
static class CheckedListBoxHelper
{
public static void SetChecked(this CheckedListBox list, string value)
{
for (int i = 0; i < list.Items.Count; i++)
{
if (list.Items[i].Equals(value))
{
list.SetItemChecked(i, true);
break;
}
}
}
}
稍微更改load事件中的逻辑,如下所示:
private void frmUserConfig_Load(object sender, EventArgs e)
{
foreach (string item in Properties.Settings.Default.checkedListBoxSystem)
{
checkedListBoxSystem.SetChecked(item);
}
}
答案 1 :(得分:0)
SetItemCheckState
的第一个参数采用索引(int)。尝试获取要检查的项目的索引,然后使用带有索引的SetItemCheckState
进行检查。