比如一个信息录入
信息录入后,提交后在另一个窗体的label1中显示提交内容
怎么办?谢谢!

解决方案 »

  1.   

    这个信息就是一条记录吗?看你在label中显示呢,就按照一条记录吧(例如一个字符串)。将录入后的信息作为参数,第二个窗体form2的构造函数里form2(String labstring){label_infor=lab}这个label_infor你自己应该已经定义好的。然后在form2的Load事件里写:label1.Text=label_infor。当然还有form1的事,form1里加个按钮控件,控件的Clink事件里写:Form2 fomr2=new Form2("要传的字符串");form2.Show();
      

  2.   

    如果实现类似InputBox之类的功能很简单
    弹出窗体定义一个对外属性,主窗体订阅弹出窗体的Closing事件,读取下这个对外属性就OK了
      

  3.   

    给子窗体重载个构造函数
    public ChildForm(string text)
    :this()
    {
       labText=text;
    }
      

  4.   

    Form1 的label modifiers为public
    Form2 提交后,Form1.label.text="xx"
      

  5.   

    如果的label的内容很多,那就form1和form2的label的后台弄一样就好了,就是显示一样的内容,
    在fomr2提交了之后,form1即时更新即可查看。。
      

  6.   

    方法一:通过属性
    方法二:通过构造函数
    方法三:通过事件。代码如下:
    假设你有两个窗体 
    在Form1有一个textbox,在Form2中有一个textbox和确定发送的按钮button1。 
    当你在FORM1中输入一个值后,立刻显示在FORM2的textbox 具体做法为: 
    FORM2中: 
    C# codepublic string Form2Value 

        get 
        { 
            return this.textBox1.Text; 
        } 
        set 
        { 
            this.textBox1.Text = value; 
        } 

    public event EventHandler accept; 
    private void button1_Click ( object sender , EventArgs e ) 

        if ( accept != null ) 
        { 
            accept ( this , EventArgs.Empty );  
        } 

    Form1中 :
    Form2 f2 = new Form2 ( ); 
    f2.accept += new EventHandler ( f2_accept ); 
    f2.Show ( ); 
    void f2_accept ( object sender , EventArgs e ) 

        Form2 f2 = (Form2) sender; 
        this.textBox1.Text = f2.Form2Value; 

    上面代码也是我自己发帖子给别人找到的,学会了,确实是需要掌握的好方法。 
      

  7.   

    哦 我把窗体的顺序调换了,你把FORM1和FORM2调换下
      

  8.   

    其实很简单,每个窗体对象都有一个Tag属性,这个属性是object类型,通过它把值传过去就可以了。
      

  9.   

    Form1 的label modifiers为public 
    Form2 提交后,Form1.label.text="xx
    是方法一的做法
      

  10.   

    比较好的一篇文章Using a delegate to pass data between two forms
      

  11.   

    1。做属性
    2。将modifiers设置public
      

  12.   

    参考C# WinForm开发系列 - Form/Window