У меня есть мои Form1
и мой Form2
.
Мой Form1
имеет метод, доступ к методу, который добавляет узлы это TreeView
:Способ и контроль доступа к другим классам
private void AddNode(TreeNode node)
{
treeView1.Nodes.Add(node);
}
Я хочу получить доступ этот метод из моего Form2
но я вроде застрял на то, что
- Статический метод AddNode потребует статического дерева TreeView1, который является довольно плохой практикой.
- Новый экземпляр
Form2
внутриForm1
создаст другой экземплярtreeView1
, который не является тем, что я хочу.
Также treeView1
объявлен внутри конструктора, так что я не могу изменить его модификатор статику (мне сказали, что это не очень хорошая идея, чтобы положить статические элементы управления внутри вашей формы).
Любая идея, как я могу это сделать?
Почему бы вам просто не объявить AddNode открытым (не статическим) и передать ссылку Form1 на Form2? Например, используя публичное свойство типа Form1. –
Форма 1 является основной формой? Вы начинаете Form2 из Form1? –
@lazyberezovsky нет, они оба созданы из двух других форм. Мне сложно передать treeview в качестве параметров также конструктор form2, но в то время это не видно – phadaphunk