日期:2014-05-19  浏览次数:20814 次

子窗体显示和传值问题.
我在主窗体上弹出一个选择框,要实现点确定按键后弹出一个窗体,让其显示在MDI主窗体上,并且要传过去二个值,应该怎么写,谢谢!
  DialogResult   dr   =   MessageBox.Show( "现在有新信息,您是否查看? ",   "信息提示 ",MessageBoxButtons.OKCancel,   MessageBoxIcon.Information,   MessageBoxDefaultButton.Button2);
                                                        if   (dr   ==   DialogResult.OK)
                                                        {
                                                                              ??????????????
                                                        }  
以前没用过WINFORM,晕死了

------解决方案--------------------
Form form = new Form();
form.MdiParent = this;
form.Show();

关于传值可以在form内定义一个public的方法来设置值,也可以用构造函数传....看你自己想怎么写了..
------解决方案--------------------
传值的话 就在 那个窗体 写一个构造函数 接收

或者通过属性
=========
namespace ReadFile
{
public partial class Form2 : Form
{


public Form2()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{

Form3 fm = new Form3();
fm._val = this.textBox1.Text;
if (fm.ShowDialog() == DialogResult.OK)
{
this.textBox1.Text = fm._val;
}


}
}
}


namespace ReadFile
{
public partial class Form3 : Form
{
// 定义一个属性
public string _val;
public string val
{
get
{
return _val;
}
set
{
_val = value;
}
}

public Form3()
{
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
_val = this.textBox1.Text;
this.DialogResult = DialogResult.OK;
this.Hide();
}

private void Form3_Load(object sender, EventArgs e)
{
this.textBox1.Text = _val;
}


}
}


------解决方案--------------------
线程控制 ui窗体 就比较容易出错