我正在开发一个Windows窗体应用程序,它使用OpenFileDialog
选择文件并将其放到ListView
。
用户不应该将同一文件添加到listview
两次。这不应该发生:
怎么办呢?
答案 0 :(得分:3)
在添加新文件之前,您是否尝试检查listview
是否包含该文件?
openfiledialog
允许您按扩展名进行过滤,但不能按文件名进行过滤,因此您需要在关闭后处理用户选择。也许显示一个消息对话框告诉用户他们选择了副本将是处理无效选择的最佳方法。
答案 1 :(得分:0)
检查现有条目。
var txt = comboBox1.Text;
if (!listView1.Items.ContainsKey(txt))
{
lvi.Text = txt;
// this is the key that ContainsKey uses. you might want to use the value
// of the ComboBox or something else, depending the combobox is freetext
// or regarding your scenario.
lvi.Name = txt;
lvi.SubItems.Add("");
lvi.SubItems.Add("");
lvi.SubItems.Add("");
lvi.SubItems.Add("");
listView1.Items.Add(lvi);
}
答案 2 :(得分:0)
试试这段代码。
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
var file = openFileDialog1.FileName;
if (listView1.FindItemWithText(file) == null)
listView1.Items.Add(file);
}
您还可以添加else
一个消息框,通知用户选择重复文件。