写一个在form2的constructor
在From2 中定义一个from1的变量
public Form2(Form1 f):this()
{
form1=f;
}
你就可以用Form1中的东西了

解决方案 »

  1.   

    多谢了,这样是可以访问的,但是若是再Form1的方法中改变了Form1中东西的之后,再在Form2中访问的还是原来那个值,这个怎么解决呢?
      

  2.   

    按照我得理解,赋值的时候应该是传递的内存地址,所以一个更新,另外一个自动更新。因为我在写多个form的东西的时候,都是自动更新的,并没有用到static。
      

  3.   

    加不加static 效果都一样!
      

  4.   

    好像加了那个构造函数还是不行啊,那个值仍然时初始,并不随之变化。
    我的搞个简单的例子说明我的意思:
    在Form1(主窗体)中声明一个变量  public   int  i = 0 ;
    在工程工添加另外一个窗体Form2
    在Form1上添加按钮和事件
    private void button1_Click(object sender, System.EventArgs e)
    {
    Form2 form2 = new Form2();
    form2.Show();
    this.i = this.i + 10;
    this.Text = i.ToString();//改变i的值
    }
    在Form2类中声明对象    public   Form1 form1;
    加上构造函数     public Form2(Form1 f):this()
    {
    form1 = f;
    }
    在Form2中添加按钮和事件private void button1_Click(object sender, System.EventArgs e)
    {
    Form1 form1 = new Form1();
    this.Text = form1.button1.Text;
    this.Text = this.Text + form1.i;
    }在form2上显示i值始终时10怎么样让它改变呢,各位大虾改一下吧!
      

  5.   

    this is concepturally horrible to discuss such issue
      

  6.   

    在Fom1中把要访问的变量做成Static的。
    要用的时候这样:
    Form1 f1 = New Form1();
    ....f1.Variable
      

  7.   

    不知为不知,知之为知之!
    英语水平差就不要在这儿卖了,千万不要自造单词,这样更让人觉得horrible 
    回去好好查差你的字典——concepturally  ?
    没有字典的话用这个:
    http://cb.kingsoft.com/
    强烈推荐国产软件
      

  8.   

    在以上代码中:
    在Fom1中把要访问的变量做成Static的
    编译不会通过,我过去也是那样想的!
      

  9.   

    是 "button1" + "0",所以是"button10"吧。
    C#中没有全局变量的概念,你可以通过使用静态变量来实现。如果还有问题请继续。
      

  10.   

    对, 仁兄k3world(雷锋)说得对,那个值始终时0但是把在Form1中把i改成static 编译是不通过得啊!
    你有什么好办法吗?
      

  11.   

    将Form1中需被访问的数据设成public和static的属性
    即搞定了
    因为Form1类有些特殊,她其中包含有入口函数Main()
    其他的窗体比这个应该更好搞定了
      

  12.   

    yeah, i'm just stupid to waste my time on some sorry little shit like you while i can get US$50/hour after tax