我有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);
}
}
}
] \
答案 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);
}
}
}