请教:C#中,如何在一个窗口中执行另一个窗口的操作? 5
流程描述:1).假设现在有两个窗口form1和form2;2).在form1中有两个按钮"保存"和"设置",3).鼠标点击"设置"按钮后,打开form2;4).在form...
流程描述:
1).假设现在有两个窗口form1和form2;
2).在form1中有两个按钮"保存"和"设置",
3).鼠标点击"设置"按钮后,打开form2;
4).在form2中可以进行一系列操作,例如现在进行的操作是写入数据库InsertAllOnSubmit操作,但此时并不进行提交到数据库的SubmitChanges操作.
5)进行"关闭"form2操作,但不是真正关闭,只是将窗口hide,因为form1窗口没有关闭前,可能再次点击"设置"按钮修改一些设置
6)在form1中点击"保存"设置,此时需要进行最重要的一步操作:<<"将在form2中修改的信息提交到数据库,即进行SubmitChanges操作">>,同时在进行这个操作的过程中,form2一直处于隐藏状态.
7).关闭form1,同时销毁form2窗口.
问题:如何才能实现第6)个步骤? 展开
1).假设现在有两个窗口form1和form2;
2).在form1中有两个按钮"保存"和"设置",
3).鼠标点击"设置"按钮后,打开form2;
4).在form2中可以进行一系列操作,例如现在进行的操作是写入数据库InsertAllOnSubmit操作,但此时并不进行提交到数据库的SubmitChanges操作.
5)进行"关闭"form2操作,但不是真正关闭,只是将窗口hide,因为form1窗口没有关闭前,可能再次点击"设置"按钮修改一些设置
6)在form1中点击"保存"设置,此时需要进行最重要的一步操作:<<"将在form2中修改的信息提交到数据库,即进行SubmitChanges操作">>,同时在进行这个操作的过程中,form2一直处于隐藏状态.
7).关闭form1,同时销毁form2窗口.
问题:如何才能实现第6)个步骤? 展开
3个回答
展开全部
form1 构造函数中加一个form实体,把form2直接当参数传过去,在form1中实例一个form 这个form=form2
再调用form2的方法,给你个例子
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Windows.Forms;
namespace 呼叫器
{
public partial class 特呼表 : Form
{
Form form;
public 特呼表(string PCName, object timeOut, string docName, string currentOfficeName,Form form)
{
// TODO: Complete member initialization
InitializeComponent();
this.PCName = PCName;
this.timeOut = timeOut;
this.docName = docName;
this.currentOfficeName = currentOfficeName;
this.form = form;
}
private void 特呼表_Load(object sender, EventArgs e)
{
}
private void dgvPatient_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
form.Refresh();
}
再调用form2的方法,给你个例子
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Windows.Forms;
namespace 呼叫器
{
public partial class 特呼表 : Form
{
Form form;
public 特呼表(string PCName, object timeOut, string docName, string currentOfficeName,Form form)
{
// TODO: Complete member initialization
InitializeComponent();
this.PCName = PCName;
this.timeOut = timeOut;
this.docName = docName;
this.currentOfficeName = currentOfficeName;
this.form = form;
}
private void 特呼表_Load(object sender, EventArgs e)
{
}
private void dgvPatient_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
form.Refresh();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询