请教: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)个步骤?
展开
 我来答
创作者hrthrjyt
2014-02-26 · 专注本地资讯发布,最新资讯尽在灏资源网
创作者hrthrjyt
采纳数:29 获赞数:83

向TA提问 私信TA
展开全部
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();

}
匿名用户
2014-02-26
展开全部
你只需要在form2中写一个public方法用来提交数据,然后在form1中调用不就行了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
子兴软件工作室
2014-02-26 · TA获得超过487个赞
知道小有建树答主
回答量:754
采纳率:50%
帮助的人:292万
展开全部
如果直接调用其他窗口的控件可能会导致线程安全问题,最好使用委托来实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式