У меня есть TreeView
в сборке WindowForm
на C#. В этом древовидном представлении файлы загружаются успешно. Я также реализовал флажки, отображающиеся перед каждым узлом дерева.
Теперь я хочу, чтобы все флажки были отмечены как true по умолчанию после загрузки всех каталогов в treeview. Я попробовал следующий код, но не повезло. Он просто проверяет только корневой узел, а не все подузлы. Первый метод btnDirectoryPath_Click(object sender, EventArgs e)
предназначен для нажатия кнопки, которая выбирает путь к загружаемому каталогу. Отсюда я звоню setAllCheckedTrue(TreeView treeView1)
private void btnDirectoryPath_Click(object sender, EventArgs e)
{
folderBrowserDialog1.SelectedPath = txtDirectoryPath.Text;
DialogResult drResult = folderBrowserDialog1.ShowDialog();
if (drResult == System.Windows.Forms.DialogResult.OK)
{
txtDirectoryPath.Text = folderBrowserDialog1.SelectedPath;
// Setting Inital Value of Progress Bar
progressBar1.Value = 0;
// Clear All Nodes if Already Exists
treeView1.Nodes.Clear();
toolTip1.ShowAlways = true;
if (txtDirectoryPath.Text != "" && Directory.Exists(txtDirectoryPath.Text))
{
//Loading all directories and sub directories and files
LoadDirectory(txtDirectoryPath.Text);
//setting all checkboxes true by default on loading.
setAllCheckedTrue(treeView1);
}
else
MessageBox.Show("Select Directory!!");
}
}
private void setAllCheckedTrue(TreeView treeView1)
{
foreach(TreeNode treeNode in treeView1.Nodes)
{
treeNode.Checked = true;
}
}
Ниже приведен снимок моего дерева -
Еще одно сомнение заключается в том, как обрабатывать событие загрузки дерева? Есть ли в С# какая-то конкретная вещь для обнаружения события загрузки дерева?
Я новичок в C #, пожалуйста, помогите мне, если это возможно. Спасибо!