C# の TreeView とそのノードについて質問があります。
私が現在やろうとしていること。TreeView があり、その隣に TableLayoutPanel があります。ノードをクリックすると、特定のメソッドが呼び出され、TableLayoutPanel にデータが表示されます。データの表示は正常に機能しますが、私の問題は、どの Node/ChildNode が選択されているかを正確に判断する方法がわからないことです。
私はこのようなTreeViewを持っています
Root1
R1Child1
R1Child2
Root2
R2Child1
R2Child2
Root3
R3Child1
R3Child2
私は現在これを AfterSelect メソッドで処理しており、選択したノードのテキストをチェックするだけです。
private void treeHardware_AfterSelect(object sender, TreeViewEventArgs e)
{
if (e.Node.Text == SysInfo.CPU.Name)
{
deleteRows();
initFixedRows();
updateTableCPU();
}
else if (e.Node.Text == ramNameIdent)
{
deleteRows();
initFixedRows();
updateTableRAM(e.Node.Index);
}
else if (e.Node.Text == "Memory")
{
deleteRows();
initFixedRows();
loadRAMDetails(0);
loadRAMOverview();
}
else if( e.Node.Text == "Mainboard")
{
deleteRows();
initFixedRows();
updateTableMainboard();
}
else
{
Console.WriteLine("ERROR");
}
}
私の意見では、これは文字列をチェックするだけで、あまり効果的ではないため、クリックされたノードをチェックするための非常に非現実的な方法です..
次の問題は、メモリ ノードです。インストールされているすべての物理メモリを表示し、それぞれを ChildNode として追加します。それらのいずれかをクリックすると、選択したメモリのデータが TableLayoutPanel に表示されます。しかし、それは常に「最後の」ものだけを示しています。
私の言いたいことを理解していただければ幸いです...そうでない場合は、さらに情報を求めてください:-)
乾杯、 コンスティ