有一个MDI窗口,一个菜单,点击菜单之后出现子窗口,代码段如下。子窗口类名为frmIQC,调用paint方法
之后域iqca的值是14(已经过验证)。private void menuItem30_Click(object sender, System.EventArgs e)
{
   logdata.frmIQC iqc=new logdata.frmIQC(this);
   iqc.Show();
   MessageBox.Show(iqc.iqca.ToString());
}
但是对话框中iqca的值是0,请高手指点。

解决方案 »

  1.   

    MDI的一个菜单menuItem30,添加如下事件:
    public void menuItem30_Click(object sender, System.EventArgs e)
    {
      logdata.frmIQC iqc=new logdata.frmIQC(this);
      iqc.Show();
      MessageBox.Show(iqc.iqca.ToString());
    }子窗体frmIQC的部分代码:namespace logdata
    {
       public class frmIQC : System.Windows.Forms.Form
    {

            public string [,] iqc;
    public int iqca,iqcc;

            public frmIQC(logdata.frmContainer parent)
    {
    InitializeComponent();
    this.MdiParent=parent;
    this.iqc=parent.IQC;
    }

    public void groupBox1_Paint(object sender, PaintEventArgs e)
    {
    this.iqca=10;
    }
    }
    }出现错误提示:D:\Container.cs(3774): 无法将“logdata.frmIQC.iqca”作为 ref 或 out 传递,因为“logdata.frmIQC.iqca”是一个引用封送类
      

  2.   

    public void groupBox1_Paint(object sender, PaintEventArgs e)
    {
    this.iqca=10;
    }
    有把赋值写在Paint里的么?   logdata.frmIQC iqc=new logdata.frmIQC(this);
       iqc.Show();
       MessageBox.Show(iqc.iqca.ToString());   你调用MessageBox.Show时,iqc还没有装入和显示出来,你说
    iqca的值应该是多少??????