当前位置: 代码迷 >> C# >> FORM2 和 FORM1 的操作有关问题
  详细解决方案

FORM2 和 FORM1 的操作有关问题

热度:127   发布时间:2016-05-05 04:49:47.0
FORM2 和 FORM1 的操作问题.
FORM1 中有一些数据 和保存这些数据到数据库1的方法,

ShowDialog() FORM2

FORM2 中有一些数据 和保存这些数据到数据库2的方法.

在点击 FORM2 中的 保存 按钮 进行 FORM1 的数据保存 如果成功 进行 FORM2 中的数据保存

如果失败则提示.


这样可以实现吗?
------解决思路----------------------
可以啊。需要在两个窗体间通信。试试委托和事件 http://www.jb51.net/article/41271.htm

一旦两个窗体能通信,你的问题就好解决了。
------解决思路----------------------
我说的这个方法如下: 在 Form2 中存储 Form1, 然后就可以调用了,当然 Form1 中的方法需要 public 的.
Form1 fm1;
public void SetForm1(Form1 fm1) { this.fm1 = fm1; }
public void Button1_Click(...){
   fm1.xxxxx(); // Form1 的保存
  this.xxxx(); // Form2 的保存
}
------解决思路----------------------
楼上的方法都可以实现。
写的具体点可以这样实现

Form1窗体中的代码片段:

Form2 frm =new Form2();
frm.ShowDialog(this)
frm.Diapose();
frm=null;

Form2 窗体中的代码片段:

Form1 frm1;
frm1=this.Owner;
public void Button1_Click(object sender,EventArgs e)
{
      // Form1 的保存
      if(this.frm1.SaveForm1Data())
      {
            // Form1的数据保存成功,则Form2 的保存
            this.SaveForm2Data();  
            return;   
      }
     // 否则返回错误信息
     MessageBox.Show(this.Error);
}
------解决思路----------------------




;
------解决思路----------------------
1、Form1自定义一个事件,在Form2触发
2、把Form1里面的方法放在一个类里面,Form2直接通过类调用
  相关解决方案