0

私はC#が初めてです。C# を使用してファイル エクスプローラーにデータを入力しています。私が今やりたいことはlistView1_MouseDoubleClick()、サブフォルダーをダブルクリックすると、現在のlistViewがクリアされ、そのサブフォルダー内のファイルとフォルダーが表示されるようにメソッドを実装することです(Windowsエクスプローラーのように)。これが私のコードです:

private void listView1_MouseDoubleClick(object sender, MouseEventArgs e)
        {
            for (int i = 0; i < listView1.Items.Count; i++)
            {
                if (listView1.Items[i].Selected == true)
                {
                    string path = listView1.Items[i].Name;
                    comboBox1.Text = path;
                    listView1.Items.Clear();
                    LoadFilesAndDir(path);
                }
            }
        }

    private void LoadFilesAndDir(string address)
    {
        DirectoryInfo di = new DirectoryInfo(address);
        try
        {
            foreach (FileInfo fi in di.GetFiles())
            {
                listView1.Items.Add(fi.Name);
            }
            try
            {
                foreach (DirectoryInfo listd in di.GetDirectories())
                {
                    listView1.Items.Add(listd.FullName, listd.Name, 0);
                }
            }
            catch (Exception e1)
            {
            }
        }
        catch (Exception e1)
        {
        }
    }

しかし、実行に失敗しました。このエラーを段階的にデバッグすると、次のステートメントの後path = listView1.Items[i].Name;path変数の値が"". それで、エラーになった理由だと思います。しかし、それを修正する方法がわかりません...これで私を助けてもらえますか? ありがとうございます!

4

1 に答える 1