adel28
سه شنبه 08 مرداد 1392, 01:57 صبح
در یک combo Box درایو های سیستم لیست شده اند.
وقتی هر درایو را انتخاب می کنیم، در List Box پوشه های درایو را نشان می دهد.
چطور میتونم کاری کنم که با Double Click روی هر پوشه در List Box پوشه داخل آن پوشه در همان List box نمایش داده شود؟
قطعه کد مربوط به نمایش پوشه ها با انتخاب هر درایو به صورت زیر نوشتم:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex == 0)
{
DriveInfo Drive = new DriveInfo("C:");
if (Drive.IsReady == true)
{
listBox1.Items.Clear();
string[] ArryDirc = Directory.GetDirectories("C:");
for (int i = 0; i < ArryDirc.Length; i++)
{
listBox1.Items.Add(ArryDirc[i]);
}
}
else
{
MessageBox.Show("لطفا دیسک را وارد نمائید");
}
}
if (comboBox1.SelectedIndex == 1)
{
DriveInfo Drive = new DriveInfo("D:");
if (Drive.IsReady == true)
{
listBox1.Items.Clear();
string[] ArryDirc = Directory.GetDirectories("D:");
for (int i = 0; i < ArryDirc.Length; i++)
{
listBox1.Items.Add(ArryDirc[i]);
}
}
else
{
MessageBox.Show("لطفا دیسک را وارد نمائید");
}
}
if (comboBox1.SelectedIndex == 2)
{
DriveInfo Drive = new DriveInfo("E:");
if (Drive.IsReady == true)
{
listBox1.Items.Clear();
string[] ArryDirc = Directory.GetDirectories("E:");
for (int i = 0; i < ArryDirc.Length; i++)
{
listBox1.Items.Add(ArryDirc[i]);
}
}
else
{
MessageBox.Show("لطفا دیسک را وارد نمائید");
}
}
if (comboBox1.SelectedIndex == 3)
{
DriveInfo Drive = new DriveInfo("F:");
if (Drive.IsReady == true)
{
listBox1.Items.Clear();
string[] ArryDirc = Directory.GetDirectories("F:");
for (int i = 0; i < ArryDirc.Length; i++)
{
listBox1.Items.Add(ArryDirc[i]);
}
}
else
{
MessageBox.Show("لطفا دیسک را وارد نمائید");
}
}
if (comboBox1.SelectedIndex == 4)
{
DriveInfo Drive = new DriveInfo("G:");
if (Drive.IsReady == true)
{
listBox1.Items.Clear();
string[] ArryDirc = Directory.GetDirectories("G:");
for (int i = 0; i < ArryDirc.Length; i++)
{
listBox1.Items.Add(ArryDirc[i]);
}
}
else
{
MessageBox.Show("لطفا دیسک را وارد نمائید");
}
}
}
وقتی هر درایو را انتخاب می کنیم، در List Box پوشه های درایو را نشان می دهد.
چطور میتونم کاری کنم که با Double Click روی هر پوشه در List Box پوشه داخل آن پوشه در همان List box نمایش داده شود؟
قطعه کد مربوط به نمایش پوشه ها با انتخاب هر درایو به صورت زیر نوشتم:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (comboBox1.SelectedIndex == 0)
{
DriveInfo Drive = new DriveInfo("C:");
if (Drive.IsReady == true)
{
listBox1.Items.Clear();
string[] ArryDirc = Directory.GetDirectories("C:");
for (int i = 0; i < ArryDirc.Length; i++)
{
listBox1.Items.Add(ArryDirc[i]);
}
}
else
{
MessageBox.Show("لطفا دیسک را وارد نمائید");
}
}
if (comboBox1.SelectedIndex == 1)
{
DriveInfo Drive = new DriveInfo("D:");
if (Drive.IsReady == true)
{
listBox1.Items.Clear();
string[] ArryDirc = Directory.GetDirectories("D:");
for (int i = 0; i < ArryDirc.Length; i++)
{
listBox1.Items.Add(ArryDirc[i]);
}
}
else
{
MessageBox.Show("لطفا دیسک را وارد نمائید");
}
}
if (comboBox1.SelectedIndex == 2)
{
DriveInfo Drive = new DriveInfo("E:");
if (Drive.IsReady == true)
{
listBox1.Items.Clear();
string[] ArryDirc = Directory.GetDirectories("E:");
for (int i = 0; i < ArryDirc.Length; i++)
{
listBox1.Items.Add(ArryDirc[i]);
}
}
else
{
MessageBox.Show("لطفا دیسک را وارد نمائید");
}
}
if (comboBox1.SelectedIndex == 3)
{
DriveInfo Drive = new DriveInfo("F:");
if (Drive.IsReady == true)
{
listBox1.Items.Clear();
string[] ArryDirc = Directory.GetDirectories("F:");
for (int i = 0; i < ArryDirc.Length; i++)
{
listBox1.Items.Add(ArryDirc[i]);
}
}
else
{
MessageBox.Show("لطفا دیسک را وارد نمائید");
}
}
if (comboBox1.SelectedIndex == 4)
{
DriveInfo Drive = new DriveInfo("G:");
if (Drive.IsReady == true)
{
listBox1.Items.Clear();
string[] ArryDirc = Directory.GetDirectories("G:");
for (int i = 0; i < ArryDirc.Length; i++)
{
listBox1.Items.Add(ArryDirc[i]);
}
}
else
{
MessageBox.Show("لطفا دیسک را وارد نمائید");
}
}
}