c# - 从 TreeView C# 将变量分配给二维数组
问题描述
我目前有一个正在 Visual Studio 中开发的 Windows 窗体。它有多个文本框、两个按钮和一个Treeview
. 在此Treeview
,有多个“根”节点,然后这些节点有多个“子”节点。我需要返回用户检查的每个节点。
我的想法是使用二维数组并将“父”节点放在第 1 列,将它们的子节点放在第 2、3、4 列等......(取决于检查的子节点数量)。
我遇到的问题是我可以MessageBox
正确检查每个节点,但不能将该值分配给二维数组中的位置。请参阅下面的代码和表单片段。
private void button1_Click(object sender, EventArgs e)
{
int a = 0;
int b = 1;
//downcause[a, a] = "test";
MessageBox.Show(downcause[a, a]);
foreach (TreeNode tn in treeView1.Nodes)
{
if (tn.Checked)
{
string holdparent = Convert.ToString(tn.Text);
downcause[a, a] = Convert.ToString(tn.Text);
MessageBox.Show(holdparent);
MessageBox.Show("array - > ", downcause[a,a]);
foreach (TreeNode child in tn.Nodes)
{
if (child.Checked)
{
string holdchild = Convert.ToString(child.Text);
downcause[a, b] = holdparent;
MessageBox.Show(holdchild);
MessageBox.Show("array - > ", downcause[a, b]);
b++;
}
}
a++;
}
}
}
选择了 Treeview 节点的表单:
在按钮单击时,它显示选中的父节点:
尝试在二维数组中输出数据时,它为空:
解决方案
推荐阅读
- http - 通过 HTTP 进行身份验证(登录)的最可靠方法是什么?
- python - 如何使函数在条件下使用默认参数
- graphviz - 如何将 GraphML 转换为 DOT 格式
- javascript - 如果在执行多个异步调用时 Excel TPA(edge webview)的焦点发生变化,Q.js 没有响应
- spring-boot - 为什么我无法从 Spring-boot 的应用程序资源目录中读取文件?
- discord - 我的反应角色命令在 Discord.js v12 中不起作用
- matlab - MATLAB匿名函数详细工作原理
- css - 如何在所选选项上打开 mat-select
- pandas - 如何使用 PyArrow 覆盖 Hive 分区数据集中分区列的类型推断?
- flutter - 在 Flutter 中如何在 swiper 之前调用 DefaultTabController 中的 validate,防止它在有验证时滑动