菜鸟请教:现在有一个类窗体Form1.cs中有个控件textbox控件,它在FORM1.Designer.cs中是这样自动声明的:this.textOutput =  new  System.Windows.Forms.TextBox();  而我由FORM1.CS派生出了一个FROM2.CS,当我想在FROM2.CS中使用:base.textOutput.text = lblmem.text语句时,系统提示 错误:Form1”并不包含“textOutput”的定义;
查了一下资料,原因可能是因为该控件是FORM1私有的,所以在FORM2中无法直接访问,但有没有好办法可以解决这个问题呢?请各位高手赐教,多谢!(用的是v studio 2005)

解决方案 »

  1.   

    有2种方法:
    1、去窗体的资源代码页(如:Form1.Designer.cs)中,把那个控件的private修改为protected;
    2、增加一个protected函数反会改控件,当然封装为属性也可以。
      

  2.   

    在form1里面把空间前面的属性变成public这样就可以在派生窗体里面访问了,要是访问事件的话,在form1里面把事件  public virtual
    派生窗体public override