平时很少接触WinForm方面的东西,今天花了快两个小时才搞明白窗体间是怎么传参数的。
问题:有Form1和Form2两个窗体,希望点Form1上的button1可以弹出Form2作为对话框,并把Form1上的Control1控件整体传给Form2。
解决方法:
第一步:Form1的button1_Click事件中添加代码:
第二步:Form2中定义Control1实例,代码:
第三步:修改Form2构造函数,代码:
OK,问题解决!
新的问题:
1、不知道是不是还有更好的解决办法???
2、ShowDialog()方法生成有模式的对话框,但这和真正意义上的对话框仍有差别(例如:在任务栏上仍显示窗体标签,而.NET Framework默认对话框不会出现这个东西),那么如何自定义一个和.NET Framework默认对话框类似的对话框呢???
Update@2005-08-05 16:27: Pharaoh帮忙将问题2解决!
问题:有Form1和Form2两个窗体,希望点Form1上的button1可以弹出Form2作为对话框,并把Form1上的Control1控件整体传给Form2。
解决方法:
第一步:Form1的button1_Click事件中添加代码:
Form2 form2 = new Form2(this.control1);
form2.ShowDialog();
form2.ShowDialog();
第二步:Form2中定义Control1实例,代码:
private Control1 control1;
第三步:修改Form2构造函数,代码:
public Form2(Control1 control1)
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
this.control1 = control1;
}
{
//
// Windows 窗体设计器支持所必需的
//
InitializeComponent();
//
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
//
this.control1 = control1;
}
OK,问题解决!
新的问题:
1、不知道是不是还有更好的解决办法???
Update@2005-08-05 16:27: Pharaoh帮忙将问题2解决!