2013-05-17 4 views
0

В настоящее время у меня есть класс, который обрабатывает мое дерево и другие компоненты winForm.refreshing treeview компонент из другой формы

Я хочу использовать другую форму, которая действует как мой вход, и как только я нажимаю кнопку сохранения, она должна обновить мой компонент дерева в другой форме. Пока что я не пробовал.

вот мой код:

* mainDisplay моя форма, которая включает в свой компонент и сохраняет свою переменную, которая содержит данные

Здесь я загружаю свою дату в TreeView

public void mainDisplay_Load(TreeNode input) 
    { 
     treeView1.BeginUpdate(); 
     foreach (data x in mydata1) 
     { 
      Console.WriteLine(x.getName()); 
      if (x.getName() != null) 
      { 
       treeView1.Nodes.Add(input); 
      } 

     } 
     treeView1.Refresh(); 

    } 

здесь это мое действие кнопки на ДРУГОЙ форме:

private void button1_Click(object sender, EventArgs e) 
    { 
     if (!(String.IsNullOrEmpty(getnamebox.Text))) ; 
     { 
      mainDisplay putdata = new mainDisplay(); 

      name = getnamebox.Text; 
      pass = getpassbox.Text; 
      url = geturlbox.Text; 
      notes = getnotebox.Text; 

      data newData = new data(name, pass, notes); 
      mainDisplay.mydata1.Add(newData); 

      TreeNode mytree = new TreeNode(name); 
      putdata.mainDisplay_Load(mytree); 

      this.Hide(); 

     } 

Любой совет будет быть оцененным.

+0

где бит, который на самом деле показывает форму? Потому что так, как я понял, что 'mainDisplay' является формой, правильно? где его загружает? Я вижу, что вы создаете новый объект, а затем вы вызываете метод загрузки, но где бит, на который вы вызываете метод Show()? Без этого вы в основном создаете его экземпляр, вставляете в него материал, и как только метод закончен, он сразу же появляется ... –

ответ

1

Вы только что создали совершенно новую основную форму отображения где-нибудь (в памяти) и добавили к ней узел дерева.

Вам необходимо передать ссылку вашего основного дисплея вперед (обычно в функции инициализации или отслеживать происхождение второй формы в зависимости от того, как настроили ваш материал), а затем использовать ссылку на вашу фактическую основную форму для обновления дерево.

Смежные вопросы