我在我的 C# 项目(Windows 窗体)中使用 TreeView,但我遇到了问题(显然:P)。我像这样填充我的 TreeView:
void RefreshTreeView()
{
treeView1.Nodes.Clear();
for (int i = 0 ; i < categories.Count ; ++i)
{
treeView1.Nodes.Add(categories[i].name);
for (int j = 0 ; j < categories[i].questions.Count ; ++j)
{
treeView1.Nodes[i].Nodes.Add("Pytanie nr " + categories[i].questions[j].number.ToString()
+ " za " + categories[i].questions[j].points.ToString() + " pkt. ["
+ (categories[i].questions[j].used ? "Przeczytane" : "Nieprzeczytane") + "]");
treeView1.Nodes[i].Tag = categories[i].questions[j]; // A
}
}
}
在上面标记为“A”的行中,我将一个 Question 对象附加到 Node 的标签上。它似乎在程序中稍后起作用,我可以像这样检索我的 Question 对象:
((Question)treeView1.Nodes[0].Tag).number
但我想获取当前选择的节点标签。我尝试这样做:
((Question)treeView1.SelectedNode.Tag).number
但它不起作用(标签为空)。我究竟做错了什么?以及如何获取当前选中的Node的Tag?