【问题标题】:Click button, open Form, close Form and then do something in Parent Form单击按钮,打开表单,关闭表单,然后在父表单中执行某些操作
【发布时间】:2015-12-07 12:39:09
【问题描述】:

我在 Visual Studio 中使用 C#.Net 开发了一个应用程序,其中包含许多表单和打开这些表单的按钮。我需要的是单击一个按钮,打开一个包含来自 myDataTable 的数据的表单,用户进行更改,最后在表单关闭 parentFrom doSomethingWith myDataTable 之后。问题是程序首先运行 doSomethingWith 然后显示表单。我可以从 childForm 调用 doSomethingWith ,但是从几个父窗体调用 childForm 几次,这很不方便。有没有办法保持这个顺序?

private void bt_ImportFile_Click(object sender, EventArgs e)
{
     System.Data.DataTable myDatatable = new System.Data.DataTable();
     importForm = new Form_ImportExcel(ref myDatatable);
     importForm.Show();
     doSomethingWith(myDataTable);
}

【问题讨论】:

  • 听起来您只需要从您的子表单中广播一个事件,然后通过您的父表单正在侦听的事件 args 将数据发回。
  • 您可以在子窗体的Form_Closing上调用它。
  • 如果您想在表单关闭后拨打doSomethingWith,请拨打ShowDialog。否则它不会等待表单关闭。

标签: c# forms


【解决方案1】:

您可以改为调用 importForm.ShowDialog()。这将阻止 doSomethingWith(myDataTable) 的执行,直到 importForm 关闭。

如果窗体显示为模式,则在关闭对话框之前不会执行 ShowDialog 方法后面的代码。但是,当窗体显示为无模式时,Show 方法后面的代码会在窗体显示后立即执行。详情请参阅MSDN

【讨论】:

  • 就是这样!!非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-07
  • 2020-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-07
相关资源
最近更新 更多