Как добавить больше значений к классу TreeNode в C#

Класс TreeNode имеет

Текстовый бейдж

Я должен присвоить больше значений классу TreeNode как float1, float2... float6.

Как я могу сделать это??? помогите.

Спасибо, Caslav

7
задан Caslav 22 March 2010 в 09:51
поделиться

3 ответа

Вы можете создать новый класс, который наследует TreeNode. Для каждого значения, которое вы хотите хранить в TreeNode, создайте свойство для этого значения. При работе с Treeview просто приведите TreeNode к вашему пользовательскому классу TreeNode.

Пример:

public class JobTreeNode : TreeNode {

    private int intField1;

    public int Field1 {
        get {
            return intField1;
        }
        set {
            intField1 = value;
        }
    }
}

Использование (добавлено после комментариев)

// Add the node
JobTreeNode CustomNode = new JobTreeNode();
CustomNode.Text = "Test";
CustomNode.Field1 = 10
treeView1.Nodes.add(CustomNode);


// SelectedNode 
((CustomNode)(treeView1.SelectedNode)).Field1;
7
ответ дан 6 December 2019 в 19:35
поделиться

Вы можете создайте легкий класс для хранения вашего float1..6 и поместите экземпляр в свойство Tag.

В качестве альтернативы вы можете использовать Словарь или, возможно, использовать 6 отдельных Dictionary .

Обратите внимание, что dotNet 4 имеет новый тип Tuple , чтобы немного упростить подобные ситуации.

1
ответ дан 6 December 2019 в 19:35
поделиться

Свойство Tag TreeNode - это «объект». Разве вы не можете просто хранить там свои данные, используя какой-то класс данных?

5
ответ дан 6 December 2019 в 19:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: