CheckedListBox中的已检查项目

时间:2014-03-07 15:10:48

标签: c# winforms checkedlistbox

我有CheckedListBox来自数据库的项目。 当我检查CheckedListBox中的项目之后,我关闭表格并再次打开表格时,不再检查该项目,即“检查”尚未保存。

如果我检查一个项目然后关闭表单并再次打开它,该项目是否仍然被检查,我该如何实现?

我试过了:

 void deliveries_FormClosing(object sender, FormClosingEventArgs e)
    {
       for (int i = 0; i < deliveries.ClbOrdersCheckDelivery.Items.Count; i++)
        {
            if (deliveries.ClbOrdersCheckDelivery.GetItemChecked(i) == true)
            {
                Properties.Settings.Default.CheckedItems = deliveries.ClbOrdersCheckDelivery.GetItemChecked(i);
            }
        }
    }

] \

1 个答案:

答案 0 :(得分:0)

你需要写

Properties.Settings.Default.Save();

保存设置。 在for循环之后写下它。

修改

我尝试使用以下代码将所有选中的项目保存到设置文件中。有用。请检查。

    private void button1_Click(object sender, EventArgs e)
    {
        Properties.Settings.Default.CheckedItems = string.Empty;
        foreach (var item in checkedListBox1.CheckedItems)
        {
            Properties.Settings.Default.CheckedItems += item + "," ;
        }
        Properties.Settings.Default.Save();
    }

    private void button2_Click(object sender, EventArgs e)
    {
        MessageBox.Show(Properties.Settings.Default.CheckedItems);
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        var checkedItems = Properties.Settings.Default.CheckedItems.ToString().Split(',');
        foreach (var item in checkedItems)
        {
            var index=checkedListBox1.FindString(item);
            if(index>=0)
            {
                checkedListBox1.SetItemChecked(index, true);
            }
        }
    }

enter image description here

enter image description here