我在将多个父节点添加到树视图时遇到问题



当我想添加一个父节点时,我添加的第一个节点有效, 父节点 1 但是当我想添加另一个具有相同功能的父级时,就会发生这种情况: 父节点 2

这是我的代码:

公共无效添加(( {

TreeView t = new TreeView();
t = treeView1;
names.Add(textBox1.Text);
passwords.Add(textBox2.Text);
emails.Add(textBox3.Text);
websites.Add(textBox4.Text);
string addedname = textBox1.Text;
string addedpass = textBox2.Text;
string addedemail = textBox3.Text;
string addedwebsite = textBox4.Text;
string nodename = textBox5.Text;
int treecount = 0;
removewhat = nodename;
t.Nodes.Add(nodename);
t.Nodes[treecount].Nodes.Add($"Username: {addedname?? "Empty"}");
t.Nodes[treecount].Nodes.Add($"Password: {addedpass?? "Empty"}");
t.Nodes[treecount].Nodes.Add($"Email: {addedemail?? "Empty"}");
t.Nodes[treecount].Nodes.Add($"Website: {addedwebsite ?? "Empty"}");
treecount += 1;
removewhat = null;
nodename = null;
addedname = null;
addedpass = null;
addedemail = null;
addedwebsite = null;
textBox3.Clear();
textBox4.Clear();
textBox1.Clear();
textBox2.Clear();
textBox5.Clear();
}

它们都出现在顶部节点中的原因是您使用值为 0 的树计数来索引节点。 因此,t.Nodes[treecount] 将始终是列表中的第一个节点,而不是新创建的节点。

我认为更简单,更清晰的方法是添加整个节点:

TreeNode newNode = new TreeNode(nodename);
newNode.Nodes.Add($"Username: {addedname ?? "Empty"}");
newNode.Nodes.Add($"Password: {addedpass ?? "Empty"}");
newNode.Nodes.Add($"Email: {addedemail ?? "Empty"}");
newNode.Nodes.Add($"Website: {addedwebsite ?? "Empty"}");
treeView1.Nodes.Add(newNode);

这样,您根本不需要担心索引。

设置整数以在刷新后将子项添加回零

将整数相加于空值之外

相关内容

最新更新