日期:2014-05-19  浏览次数:20986 次

treeView添加节点没反应
我在兩個窗口進行的
Form1:private   void   button1_Click(object   sender,   System.EventArgs   e)
              {
                      Form2   form2   =   new   Form2();
                form2.Show();
              }

              public   void   add(string   a)
              {
    this.treeView1.Nodes.Add(a);
              }

Form2:private   void   button1_Click_1(object   sender,   System.EventArgs   e)
            {
    Form1   form1   =   new   Form1();
    form1.add( "sdd ");
            }
Form1裏面有個Button點擊Form2就會顯示出來,在Form2裏面我調用了Form1裏面的一個方法,方法主要是對Form1裏面的TreeView控件作添加節點用的,這個方法是在點擊Form2裏Button后執行的。可是我現在點擊了Form2裏Button,可Form1裏的TreeView控件卻沒有節點添加進去,什麽緣故?參數已經傳過去了……

------解决方案--------------------
用委托或事件来做就可以了!
Form1:private void button1_Click(object sender, System.EventArgs e)
{
Form2 form2 = new Form2();
form2.OnAddString += new Form2.AddStringCallBack(button1_OnAddString)
form2.Show();
}
void button1_OnAddString(string sdd)
{
this.treeView1.Nodes.Add(a);
}
//public void add(string a)
//{
// this.treeView1.Nodes.Add(a);
// }

Form2:private void button1_Click_1(object sender, System.EventArgs e)
{
OnAddString( "sdd ");
//Form1 form1 = new Form1();
//form1.add( "sdd ");
}
public delegate void AddStringCallBack(string sdd);
public event AddStringCallBack OnAddString;