日期:2014-05-20  浏览次数:20717 次

关于c#中的form间引用传递后的使用问题
我这里遇到一个问题,因为不是很了解引用这种形式所以不能找到如何解决的方法。
问题如下:
有一个值类型的枚举数据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:如果是思路的问题也请指出来下。

------解决方案--------------------
如果数据所在地是form1,那么form1提供公有属性来修改此值;那么传递给form2的时候,可以通过属性进行修改。

其他方法,也可以form1提供修改函数,然后以委托的方式传递给form2,那么form2可以通过委托对象进行修改。
------解决方案--------------------
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