Winfrom C# 弹出一个子窗体,可输入数据,点击确定,后台进入另一个窗体处理数据,但要做到弹出的子窗体不关闭,直到另一个窗体数据有结果,这时再关闭子窗体

解决方案 »

  1.   

    假设你有两个窗体。
    在Form1有一个textbox,在Form2中有一个textbox和确定发送的按钮button1。 
    当你在FORM1中输入一个值后,立刻显示在FORM2的textbox具体做法为:
    FORM2中:
    public 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; 
    } 上面代码也是我自己发帖子给别人找到的,学会了,确实是需要掌握的好方法。
      

  2.   

    简单,以前在给客户的项目中做过,源码就不给了。思路是使用事件。一级一级的加载,一级一级的回调,但是注意一下,这种方式有些地方要出问题需要处理,就是在调用事件时,不能马上刷新主窗体的值。这个比较麻烦一点,但是是基于什么情况出现的,我已经忘了- -!!而且我是用的DEV。