日期:2014-05-16  浏览次数:20844 次

winform如何获取另一个窗体的实例
从窗体A跳转到窗体B,在窗体B中如何获取A的实例呢?
把窗体A写成静态的,然后用单例模式来访问可以吗?
------解决方案--------------------
窗体不可能声明为静态的,只可能在一个class里边声明一个静态成员 -->

    窗体类型不可能声明为静态的,只可能在一个class里边为这个窗体类型的对象实例声明一个静态成员
------解决方案--------------------
在A窗口生成B的代码段加入
Form_B B=new Form_B();
B.parent=this;
然后在B的代码段中加入
Form_A A=(Form_A)this.parent;
A.treeView.//然后是你要添加 的节点什么的。
然后就可以了。
------解决方案--------------------
http://bbs.csdn.net/topics/360140208
------解决方案--------------------

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Form2 f2 = new Form2(this);
            f2.Show();
        }
    }
public partial class Form2 : Form
    {
        public Form2(Form1 f1)
        {
            InitializeComponent();
            this.textBox1.Text = f1.Controls["label1"].Text;
        }
    }