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;