我这里遇到一个问题,因为不是很了解引用这种形式所以不能找到如何解决的方法。
问题如下:
有一个值类型的枚举数据en
private Enumerate en;form1:Form2 form2 = new Form2(ref en);
form2.Show();form2:
public Form2(ref Enumerate ttype)
        {
            InitializeComponent();
            this.formttype = ttype;
        }这里,我想在form2中的构造函数之外使用这个引用(希望能在不关闭form2的情况下改变这个枚举值)。就是不知该如何为formttype指定一个类型。一开始指定的枚举类型(定义在名字空间中的),因为是值类型,结果还是没有能成功。
ps:如果是思路的问题也请指出来下。

解决方案 »

  1.   

    如果数据所在地是form1,那么form1提供公有属性来修改此值;那么传递给form2的时候,可以通过属性进行修改。其他方法,也可以form1提供修改函数,然后以委托的方式传递给form2,那么form2可以通过委托对象进行修改。
      

  2.   

    啊,还可以用属性啊,看来真的是思路错了。
    谢谢了,不过刚才那个问题里还有一点没有解决啊,就是引用过去的值在form2里到底是什么类型呢?是object?还是pointer?不可以提到构造函数外使用么?
      

  3.   

    刚才那个是不是只有使用tatic修饰的属性才可以被form2使用啊?因为不知道怎么找到form1的实例.
      

  4.   

    to 刚才那个是不是只有使用tatic修饰的属性才可以被form2使用啊?因为不知道怎么找到form1的实例.你会把枚举类型变量传递给form2,难道就不会把form1类型对象传递给form2?参看
    http://blog.csdn.net/knight94/archive/2006/03/18/628285.aspx
    http://blog.csdn.net/Knight94/archive/2006/08/22/1104957.aspx
      

  5.   

    成功了。还是理解的不深刻的缘故。谢谢你的细心指点。你的blog以后会经常去学习。