CheckedListBox中的已检查项目

问题描述 投票:0回答:1

我有一个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);
            }
        }
    }

]\

c# winforms checkedlistbox
1个回答
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);
            }
        }
    }

© www.soinside.com 2019 - 2024. All rights reserved.