0

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 オブジェクトを取得できるように機能するようです。

((Question)treeView1.Nodes[0].Tag).number

しかし、現在選択されているノードのタグを取得したいです。私はこのようにしようとしています: ((Question)treeView1.SelectedNode.Tag).number しかし、うまくいきません(タグはnullです)。私は何を間違っていますか?そして、現在選択されているノードのタグを取得する方法は?

4

1 に答える 1

3

treeView1.Nodes[i].Tag親ノードのタグです。

おそらく、子ノードのタグを設定したいと思うでしょう。treeView1.Nodes[i].Node[j].Tag

于 2012-05-29T23:12:22.223 に答える