各位大侠,小弟遇到个问题,望帮帮忙。
我有两个窗口A和B
A窗口有个方法addNode(),作用是添加treeview的项,这个方法单独使用是没问题的
我想实现的功能是:按B窗口的按钮,实现窗口A里treeview项的添加
但是通过A a=new A(); a.addNode();后,实现不了treeview的添加
望高手指点一二,谢谢!

解决方案 »

  1.   

    private void OK_Button_Click(object sender, EventArgs e)//B界面的按钮事件
    {                          
    this.DialogResult = System.Windows.Forms.DialogResult.OK;         
    }  
     2.显示数据界面 
    B frm = new B();//A中调用B界面             
    frm.ShowDialog();             
    if (frm.DialogResult == System.Windows.Forms.DialogResult.OK)             
    {        
    ……//你自己的操作                
    frm.Close();             

      

  2.   

    在父窗体委托,在子页面通过代理重新绑定数据
    或用 frm.ShowDialog();
    弹出窗体,
    if (frm.DialogResult == DialogResult.OK)
      {}绑定数据
    private void btnAdd_Click(object sender, EventArgs e)
      {
      parentform.Bind();
      this.Close();
      }
    http://topic.csdn.net/u/20120719/23/5e5c3287-568e-4a80-b5ee-9353d618dd09.html
      

  3.   

    在B窗体中:
    A a=new A(); a.addNode();
    这里new出来的A和当前显示的A不是同一个实例,所以添加不上去。简单的做法,你可以把A窗体对象传到B窗体中去。
        public partial class B: Form
        {
            public A aForm;        public void test()
            {
                aForm.addNode();
            }
        }    public partial class A: Form
        {
            public void ShowBForm()
            {
                B b = new B();
                b.aForm=this;
                b.Show();
            }
        }