我的错代码:
  form1里面的:      private void button1_Click(object sender, EventArgs e)
           {
            Form f2 = new Form();
            f2.MdiParent = this;
            f2 . Show();
            f2.WindowState = FormWindowState.Maximized;
            pictureBox1.Visible = false;        //此处隐藏图片
           
           }  form2里面的:      private void button2_Click(object sender, EventArgs e)
          {
           this.close();
           form1.   pictureBox1.Visible = true;             //这里错误??
          
          }
  大侠们知道怎么写吗??????初学者

解决方案 »

  1.   

    错误 1 “_5.Form1.pictureBox1”不可访问,因为它受保护级别限制 C:\25\25\Form2.cs 20 19 25
      

  2.   

    把属性中的modifier 弄成public 
      

  3.   

    试试下面的方法,注意红字部分:form1里面的:      private void button1_Click(object sender, EventArgs e) 
              { 
                Form f2 = new Form(); 
                f2.MdiParent = this;
                f2.Tag = this;
                f2.Show(); 
                f2.WindowState = FormWindowState.Maximized; 
                pictureBox1.Visible = false;        //此处隐藏图片 
              
              } form2里面的:      private void button2_Click(object sender, EventArgs e) 
              { 
              this.close(); 
              Form1 f1 = (Form1)this.Tag;
              f1.pictureBox1.Visible = true;
              }
      

  4.   

    form1里面的:      private void button1_Click(object sender, EventArgs e) 
              { 
                Form f2 = new Form(this); 
                f2.MdiParent = this; 
                f2.Tag = this; 
                f2.Show(); 
                f2.WindowState = FormWindowState.Maximized; 
                pictureBox1.Visible = false;        //此处隐藏图片 
              
              } 
    form2里面的: 
    定义Form1的实例:
         public Form1 f1   
    在构造函数中以Form1为参数。
         private void button2_Click(object sender, EventArgs e) 
              { 
              this.close(); 
              //Form1 f1 = (Form1)this.Tag; 
              f1.pictureBox1.Visible = true; 
              }我是这样做的。还有更好的方法。
      

  5.   

    4楼利用TAG传递this指针也是非常好的方法。
      

  6.   


    出错:  错误 1 “_5.Form1.pictureBox1”不可访问,因为它受保护级别限制
      

  7.   

     form2里面的:      private void button2_Click(object sender, EventArgs e) 
              { 
              this.close(); 
              form1.  pictureBox1.Visible = true;            //这里错误?? 
              
              } 
    这里首先要
    form1.  pictureBox1.Visible = true;            //这里错误?? 
    this.close(); 
    而且,你要确定form1和form2是不是同一个对象里面的资源,不然改变不了的,访问的不是同一个资源