Un TreeNode tieneCómo agregar más valores a una clase TreeNode en C# clase
texto conocido de la etiqueta
necesito para asignar varios valores a una clase TreeNode como float1, float2, ... float6.
¿Cómo puedo hacer esto? pls ayuda.
Thx, Caslav
Un TreeNode tieneCómo agregar más valores a una clase TreeNode en C# clase
texto conocido de la etiqueta
necesito para asignar varios valores a una clase TreeNode como float1, float2, ... float6.
¿Cómo puedo hacer esto? pls ayuda.
Thx, Caslav
Puede crear una nueva clase que hereda el TreeNode. Para cada valor que desee almacenar en el treenode, cree una propiedad para ese valor. Al trabajar con Treeview, simplemente transfiera TreeNode a su clase TreeNode personalizada.
Ejemplo:
public class JobTreeNode : TreeNode {
private int intField1;
public int Field1 {
get {
return intField1;
}
set {
intField1 = value;
}
}
}
Uso (añadido después de los comentarios)
// Add the node
JobTreeNode CustomNode = new JobTreeNode();
CustomNode.Text = "Test";
CustomNode.Field1 = 10
treeView1.Nodes.add(CustomNode);
// SelectedNode
((CustomNode)(treeView1.SelectedNode)).Field1;
Puede crear una clase de peso ligero para mantener su float1..6 y poner un ejemplo, en la etiqueta propiedad.
Alternativamente, puede usar un Dictionary<TreeNode, FloatsClass>
o tal vez usar 6 Dictionary<TreeNode, float>
separados.
Tenga en cuenta que dotNet 4 tiene un nuevo tipo Tuple<A,B,C,...>
para facilitar este tipo de situaciones.
La propiedad Tag de TreeNode es "objeto". ¿No puedes simplemente almacenar tus datos allí usando una clase de datos de algún tipo?
Lo intenté, pero no puedo mostrar los valores en el cuadro de texto cuando selecciono el nodo. Ejemplo: textbox1.Text = treeView1.SelectedNode.Name.ToString(); <- works textbox2.Text = treeView1.SelectedNode.IntField o IntField1.ToString(); <- doesn't work – Caslav
Tienes que emitir el SelectedNode. Algo como esto: ((CustomNode) (treeView1.SelectedNode)). Field1; – Rhapsody
También debe asegurarse de que los elementos _Add_ JobTreeNode. –