private void Form1_Load(object sender, EventArgs e) { listBox1.DataSource = Directory.GetDirectories(rootDirectory).Select(Path.GetFileName).ToList(); listBox1.SelectedIndexChanged += ListBox1_SelectedIndexChanged; listBox2.SelectedIndexChanged += ListBox2_SelectedIndexChanged; DataGridViewImageColumn dgvimgcol = new DataGridViewImageColumn(); dgvimgcol.ImageLayout = DataGridViewImageCellLayout.Stretch; dgvimgcol.Width = 250; dgvimgcol.HeaderText = "Blocks"; dgvimgcol.Image = null; dataViewImages.RowTemplate.Height = 300; dataViewImages.Columns.Add(dgvimgcol); dataViewImages.AllowUserToAddRows = false; dataViewImages.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill; } private void ListBox1_SelectedIndexChanged(object sender, EventArgs e) { // When an item changes in the first listbox, update the second listbox datasource var parentDir = Path.Combine(rootDirectory, listBox1.SelectedItem.ToString()); listBox2.DataSource = Directory.GetDirectories(parentDir).Select(Path.GetFileName).ToList(); } private void ListBox2_SelectedIndexChanged(object sender, EventArgs e) { // When an item changes in the second listbox, update the datagridview datasource var parentDir = Path.Combine(rootDirectory, listBox1.SelectedItem.ToString(), listBox2.SelectedItem.ToString()); dataViewImages.DataSource = Directory.GetFiles(parentDir).Select(f => new { FileName = Path.GetFileName(f) }).ToList(); }
<pre>dataViewImages.DataSource = Directory.GetFiles(parentDir).Select(f => new { FileName = Path.GetFileName(f) }).ToList();
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)