私は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
変数の値が""
. それで、エラーになった理由だと思います。しかし、それを修正する方法がわかりません...これで私を助けてもらえますか? ありがとうございます!