【发布时间】:2014-11-18 15:48:32
【问题描述】:
我有这个方法可以打开并填写checkedlistbox。
void Show_files()
{
FolderBrowserDialog FBD = new FolderBrowserDialog();
if (FBD.ShowDialog() == DialogResult.OK)
{
checkedListBox1.Items.Clear();
string[] files = Directory.GetFiles(FBD.SelectedPath);
string[] dirs = Directory.GetDirectories(FBD.SelectedPath);
foreach (string file in files)
{
checkedListBox1.Items.Add(file);
}
foreach (string dir in dirs)
{
checkedListBox1.Items.Add(dir);
}
}
}
然后按钮删除选定的文件。
private void button1_Click(object sender, EventArgs e)
{
foreach (var item in checkedListBox1.CheckedItems.OfType<string>().ToList())
{
DialogResult dialogResult = MessageBox.Show("Czy na pewno chcesz usunać zaznaczone pliki", "Czy na pewno chcesz usunać zaznaczone pliki?", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
File.Delete(item);
}
}
MessageBox.Show("Usunięto");
checkedListBox1.Refresh(); // here should refresh list of folder content
}
我尝试在 Show_files() 方法的循环中再次清除和添加项目(如果项目计数不为空),但它没有奏效。既不隐藏也不显示。我不想再次打开文件夹浏览器。它必须自动发生。
【问题讨论】:
标签: c# winforms checkedlistbox