for example:public static string empNo;
public static string EmpNo
{
get
{
return empNo;
}
set
{
empNo=value;
}
}

解决方案 »

  1.   

    同意楼上的,定义一个数组类型的属性
    private string[] test;
    public string[] Test
    {
        get{return test;}
    }
    如果触发返回事件的话让test=要传回的数组就行了,当然数据类型不一定是我定义的string了
      

  2.   

    因为你是从子窗口传数据给主窗体,想用属性的话,
    必须定义静态的,
    否则要引用实例,
    而且要使该属性具有可写性,
    楼上的兄弟可能疏忽了.
    应该这样:
    private static string[] test;
    public static string[] Test
    {
        set
         {
           test = value;
         }
    }
      

  3.   

    如果是我的话,我直接在主窗体加上一个全局静态变量,直接就用Form1.xxx=XXX就搞定了,何必这样?
      

  4.   

    在主Form中
    Form2 frm=new Form2(this);
    frm.Showdailog();在Form2中:
    private Form frm;
    public new(Form mainForm)
    {
    frm=mainForm;
    } 这样你改frm的属性就行了
      

  5.   

    可调试说在FORM2中不包含对主FORM的属性的定义…………
      

  6.   

    在Form1中
    Form2 frm = new Form2();
    if (frm.Showdailog() == DialogResult.OK)
    {
       string[] arr = frm.Arr;     
    }在Form2中:
    private string[] m_arr;
    public string[] Arr
    {
        get ( return this.m_arr; }
    }就我可怜的C#编程经验而言,我觉得最好不要随便用数组做参数,很多情况下会产生意想不到的问题,或许可以考虑用ArrayList来代替。
      

  7.   

    非常感谢各位的热心回答!我目前采取的措施是使用属性来传递。仍然用数组(我对ArrayList还不熟悉)。
      

  8.   

    to:  SaSBYa(SaSBYa Green)
    c#中没有全局静态变量
    同意: zhuohs(凌九霄)
    用值类型