需要帮助从专业人士(帮助)?从选定的目录列表框1获取文件到listbox2? [英] Need Help from pro (Help) ?Get file from selected Directory listbox1 into listbox2?

查看:53
本文介绍了需要帮助从专业人士(帮助)?从选定的目录列表框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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆