首先 把F1窗体的view控件 属性设置为public
第二 在F2中定义一个 F1的属性
public class F2{Public F1 F1;
}第三 在F1打开F2的时候 f2 f2=new f2();
f2.f1=thisl
f2.show()第四在f2  中使用F1的窗体 this.f1.view

解决方案 »

  1.   

    你这是两个引用的,既然你  Form1 F1 = new Form1();
    那么,这就是另一个对象了Form1 form
    public Form2(From1 form)
    {
       this.form=form;
    }在Form2中d的按钮,在其点击事件中的代码如下:
     MessageBox.Show(form.listView3.Items.Count.ToString());
      

  2.   

    您好,
    首先感谢您的回复,并且也尝试成功。
    但是能否将一下原理?我刚接触C#,总感觉基础不扎实。另外,我刚刚又写了一段代码,请您结合理论,分析一下两段代码。Form1和Form2中分别有一个按钮和一个LABEL。在Form1按钮的点击事件中代码如下:
                Form2 F2 = new Form2();
                F2.label1.Text = "1";
                F2.ShowDialog(this);在Form2按钮的点击事件中代码如下:
                Form1 F1 = new Form1();
                MessageBox.Show(F1.label1.Text);//
                F1.label1.Text = "a";
                this.Close();测试结果是:点击FORM1的按钮后,FORM2中的LABEL的TEXT属性变为"1"。
              但是,点击FORM2的按钮后,FORM1中的LABEL的TEXT属性没有变为"a"。还请麻烦您讲解一下。
    谢谢您
      

  3.   

    在Form2中添加一个按钮,在其点击事件中的代码如下:
                Form1 F1 = new Form1();
                MessageBox.Show(F1.listView3.Items.Count.ToString());
    这段你试试改成Form2的父窗体 Form1 F1 = ((MainForm)this.ParentForm);
    试试这样能不能行!
      

  4.   

    so easyForm1中有个按钮,在其点击事件中的代码如下:
                Form2 F2 = new Form2();
                f2.Owner = this;
                F2.ShowDialog();
    在Form2中添加一个按钮,在其点击事件中的代码如下:
                Form1 F1 =(Form1)this.Owner;
                MessageBox.Show(F1.listView3.Items.Count.ToString());照我的方法试一下,亲给满分哦
      

  5.   

    楼主这个OO basic knowledge 我先汗一个。我想请问楼主,你应用程序启动后,Form1 就 Show 出来了,Form2 是你 Form1 的附属窗体,然后你又在 Form2 里面 new 一个 Form1,难道没看出来他们是两个 Object 吗?MessageBox.Show((Owner as Form).listView3.Items.Count.ToString());
      

  6.   


    MessageBox.Show((Owner as Form1).listView3.Items.Count.ToString());