日期:2014-05-17  浏览次数:20832 次

form窗体关闭问题
有2个窗体form1和form2,form1中有个label和一个button,form2中有一个textbox和一个button,我想点击form1中button使form2出现,而且form1不关闭,然后用form2中button_click事件使textbox传值给form1中label,然后form2关闭。这时候会有2个form1,求解怎么能让那个没值的form1不显示啊。
form1中button_click事件

private void button1_Click(object sender, EventArgs e)
{
        Form2 fm = new Form2();
        fm.Show();
}

form2中button_click事件
        
private void button1_Click(object sender, EventArgs e)
{
        fm1.Visible = false;
        this.fm1.label1.Text = this.textBox1.Text;
        fm1.Show();
        this.Close();
}
对象 textbox label button

------解决方案--------------------


public string Result {get;set;}
private void button1_Click(object sender, EventArgs e)
{
        Form2 fm = new Form2();
        if(fm.ShowDialog()==DialogResult.OK)
            {
 fm.Result的值用来做什么?
    }

}

2的:
private void button1_Click(object sender, EventArgs e)
{
        Result="abc";
this.DialogResult=DialogResult.OK;
Close();
}

怎么会有两个Form1
------解决方案--------------------
基本原理没搞懂啊!在WINFORM 程序中有个program..cs文件 里面默认哪一个是主窗体,所以如果form1是主窗体那么 是关不掉的 除非强制关闭Application.Exit() 那样整个进程会关闭. 你可以 fm1.hide();隐藏起来试试!如果都不是主窗体 那么ShowDialog()弹框 然后根据DialogResult.ok 返回值然后frm1关闭
------解决方案--------------------
引用:
form2中button_click事件