首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用StringCollection填充(标记为选中) checkedListBox

如何使用StringCollection填充(标记为选中) checkedListBox
EN

Stack Overflow用户
提问于 2012-12-13 10:06:52
回答 2查看 2.5K关注 0票数 2

我在windows窗体上的收藏集中有一个包含10个项目的checkedListBox。使用C# VS210。

我正在寻找一种简单的方法,通过使用存储在checkedListBox文件(存储为System.Collections.Specialized.StringCollection). )中的值,将我的Settings.Settings中的两个项目标记为选中我一直没有找到这个例子,我知道我应该以某种方式使用CheckedListBox.CheckedItems属性,但还没有找到一个例子。

代码语言:javascript
复制
private void frmUserConfig_Load(object sender, EventArgs e)
{
    foreach (string item in Properties.Settings.Default.checkedListBoxSystem)
    {
        checkedListBoxSystem.SetItemCheckState(item, CheckState.Checked);
    }
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-13 13:08:06

使用Extension method怎么样?

代码语言:javascript
复制
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事件中的逻辑,如下所示:

代码语言:javascript
复制
private void frmUserConfig_Load(object sender, EventArgs e)
{
    foreach (string item in Properties.Settings.Default.checkedListBoxSystem)
    {
        checkedListBoxSystem.SetChecked(item);
    }
}
票数 1
EN

Stack Overflow用户

发布于 2012-12-13 11:16:09

SetItemCheckState的第一个参数接受索引(int)。尝试获取要检查的项目的索引,然后对索引使用SetItemCheckState进行检查。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13851829

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档