需要帮助从专业人士(帮助)?从选定的目录列表框1获取文件到listbox2? [英] Need Help from pro (Help) ?Get file from selected Directory listbox1 into listbox2?
本文介绍了需要帮助从专业人士(帮助)?从选定的目录列表框1获取文件到listbox2?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
private void Form2_Load(object sender, EventArgs e)
{
string path = @"\\192.168.**.**\**\**";
string[] dirs = Directory.GetDirectories(path);
// For folders in the directory
foreach (string dir in dirs)
listBox1.Items.Add(dir);
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
listBox2.Items.Clear();
DirectoryInfo dir = (DirectoryInfo)listBox1.SelectedItem;
foreach (FileInfo img in dir.GetFiles())
listBox2.Items.Add(img);
}
// Error Occur >>>> An unhandled exception of type 'System.InvalidCastException'
推荐答案
嗯,你有什么期望?
查看您的代码:
Well, what did you expect?
Look at your code:
foreach (string dir in dirs)
listBox1.Items.Add(dir);
DirectoryInfo dir = (DirectoryInfo)listBox1.SelectedItem;
因此ListBox中的每个项目都是一个字符串,并且您正在尝试将其强制转换为DirectoryInfo。没有这样的演员!
尝试:
So every item in the ListBox os a string, and you are trying to cast it to a DirectoryInfo. There is no such cast!
Try:
DirectoryInfo dir = new DirectoryInfo(listBox1.SelectedItem);
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
listBox2.Items.Clear();
DirectoryInfo dir = new DirectoryInfo(listBox1.Text);
foreach (FileInfo img in dir.GetFiles())
{
// Adds the full path
//listBox2.Items.Add(img.FullName);
// Adds just the filename
listBox2.Items.Add(img.Name);
}
}
DirectoryInfo dir = new DirectoryInfo(listBox1.SelectedItem);
到
DirectoryInfo dir = new DirectoryInfo(listBox1.Text);
/ /这有效。
DirectoryInfo dir = new DirectoryInfo(listBox1.SelectedItem);
To
DirectoryInfo dir = new DirectoryInfo(listBox1.Text);
//This works.
这篇关于需要帮助从专业人士(帮助)?从选定的目录列表框1获取文件到listbox2?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文