如何在C#中刷新列表框?

如何在C#中刷新列表框?,c#,winforms,C#,Winforms,我已经在谷歌做了一些搜索,但没有找到一个有用的方法…请帮助。。。 所以我有一个显示数据库数据的列表框,我的函数允许用户一次删除一个/多个数据,当然我想相应地刷新我的列表框。 例如,我尝试使用checkedListBox1.Refresh();但是没有起作用。请帮帮我 private void button1_Click(object sender, EventArgs e) { string item_name = ""; f

我已经在谷歌做了一些搜索,但没有找到一个有用的方法…请帮助。。。 所以我有一个显示数据库数据的列表框,我的函数允许用户一次删除一个/多个数据,当然我想相应地刷新我的列表框。 例如,我尝试使用checkedListBox1.Refresh();但是没有起作用。请帮帮我

  private void button1_Click(object sender, EventArgs e)
        {

            string item_name = "";
            foreach (object itemChecked in checkedListBox1.CheckedItems)
            {
                item_name = itemChecked.ToString();
                removefromdatabse2(item_name); // a function that update the database
                MessageBox.Show("successfully deleted");
               // checkedListBox1.Refresh();  , which didn't work

            }
        }
您有两个选择:

  • ListBox
    中删除所选的
    ListBoxItem
    实例(使用
    ListBox.SelectedItems
    属性获取所选项目)以及存储在数据库中的相应项目。每个
    ListBoxItem
    实例都应该有一个唯一的标识符,该标识符与存储项目的数据库表中使用的标识符相匹配
  • 删除数据库中存储的与
    列表框
    中所选项目对应的项目,清除
    列表框
    ,并使用数据库中存储的项目重新加载它
您有两种选择:

  • ListBox
    中删除所选的
    ListBoxItem
    实例(使用
    ListBox.SelectedItems
    属性获取所选项目)以及存储在数据库中的相应项目。每个
    ListBoxItem
    实例都应该有一个唯一的标识符,该标识符与存储项目的数据库表中使用的标识符相匹配
  • 删除数据库中存储的与
    列表框
    中所选项目对应的项目,清除
    列表框
    ,并使用数据库中存储的项目重新加载它

您可以清除整个列表框中的项目并从数据库中重新填充,也可以找到要删除的项目并手动删除。或者,使用ListBox控件上的“DataSource”属性,并在运行查询时更新源。

您可以清除整个ListBox中的项并从数据库中重新填充,或者找到要删除的项并手动删除。或者,使用ListBox控件上的“DataSource”属性,并在运行查询时更新源。

清除它,然后将ListBox重新绑定到数据源

清除它,然后将ListBox重新绑定到数据源

这里的“不工作”是什么意思?您希望
Refresh()
做什么?我希望我的列表框在显示(成功删除)后少x个项目。如果用户选择删除x个项目,那么您可能希望在完成所有操作后(例如,在方法末尾)对其进行刷新。当您还有可能需要执行的操作时,刷新是没有意义的。对,我尝试过,但结果是一样的。等等,在这段代码中,看起来您甚至没有从列表中删除该项。你必须明确地这样做。你不能只是从数据库中删除它,然后期望列表更新。这里的“不起作用”是什么意思?您希望
Refresh()
做什么?我希望我的列表框在显示(成功删除)后少x个项目。如果用户选择删除x个项目,那么您可能希望在完成所有操作后(例如,在方法末尾)对其进行刷新。当您还有可能需要执行的操作时,刷新是没有意义的。对,我尝试过,但结果是一样的。等等,在这段代码中,看起来您甚至没有从列表中删除该项。你必须明确地这样做。您不能只是将其从数据库中删除,然后期望列表更新。