这些控件实际上在文件中是有定义的
去改成public即可访问

解决方案 »

  1.   


    如果不改public呢?有没有好一点的办法?
      

  2.   

    http://blog.csdn.net/chen504390172/article/details/17279199
      

  3.   

    http://blog.csdn.net/yuekunge/article/details/9171301
      

  4.   

    form1中有form2的实例
    form2的静态变量
    使用事件
      

  5.   

    不需要静态变量
    form1在显示form2的时候一定先实例化,只要form2中有public的变量,就可以访问了
      

  6.   

    使用模式窗体显示showdialog()
    这样form2关闭后会继续执行form1中打开窗体的代码
    你在这里获取值就行了
    可以把值放到Public变量里,也可以直接将控件声明为public
      

  7.   

    不过还是建议form2将值保存到变量里,form1去变量里取值
    这样form2如果需要修改,只要变量没变,form1就不用跟着改
    否则使用的控件名或控件类型修改了,你要改的地方就多了
      

  8.   

    在  form2 里定义 一些 字段
    来接收 文本框输入的值form1  的 button  事件 里 可以这样写
    if(f2.showdialog() == dialogresult.ok)
    {
    f1.字段1 = f2.字段1
    }
      

  9.   

    form2直接将值保存到变量里。。这个怎么实现?怎么保存?
      

  10.   

    参考 http://bbs.csdn.net/topics/360140208
      

  11.   


    A窗体Form1 文本框tb1 按钮bua
    B窗体Form2 tb2现在实现:在A窗体中点击按钮bua-,隐藏A窗体-打开B窗体-将A窗体的文本框tb1的值传给B窗体的文本框tb2实现:A窗体按钮bu的Click事件private void  bu_Click(object sender,EventArgs e)
    {
       Form2 f2=new Form2();  
       f2.Owner=this;
       f2.TbStr=this.tb1.Text;
       f2.StartPosition=FormStartPosition.CenterScreen;
       f2.Show();
       this.Hide();
    }B窗体:
    private string tbstr
    public string TbStr
    {
      set {tbstr=value;}
      get{return tbstr;}
    }
    窗体加载
    private void Form2_Load(object sender,EventArgs e)
    {
        this.tb2.Text=this.TbStr;
    }
    在输入过程中,许是有错的地方,但是思路及解决方案是没错的,自己测试一下。
    如果有多个控件,可以依此灵活多变。