【问题标题】:Save Calculated Value from Spawned Child Form to Parent After Button Click单击按钮后将生成的子窗体中的计算值保存到父窗体
【发布时间】:2015-08-08 09:18:24
【问题描述】:

我有一个 Winforms 表单,并在 DataGridView 控件中生成了一个路径计算器。客户端输入后,它会进行计算,然后在按下“更新”后更新同一表单上的文本框。我该如何做到这一点,以便生成表单中此文本框的值将传输到生成的(子)表单上的现有文本框返回父级,并在完成此操作后关闭生成的表单。

下面的代码将生成子窗体:

DeliveryLocationCalculator form = new DeliveryLocationCalculator();
            form.Show();

子表单的button2_Click(保存)按钮中应该做什么,以使其传输文本框值并在单击后关闭子表单

【问题讨论】:

  • 查看this了解如何在不同表单之间连接事件

标签: c# forms winforms datagridview


【解决方案1】:

据我了解
如果要将计算结果的值从DeliveryLocationCalculator 表单转移到主表单,然后关闭DeliveryLocationCalculator 表单,则 在DeliveryLocationCalculator 中创建公共属性以保存结果,

class DeliveryLocationCalculator 
{
    //...
    public decimal FinalResult { get; set; }
}

并在模态模式下使用.ShowDialog()方法打开计算器DeliveryLocationCalculator表单。
在DeliveryLocationCalculator 表单关闭后,您可以读取属性FinalResult 的值,在表单将被处理之前

//Code in then main form
using form = new DeliveryLocationCalculator()
{
    form.ShowDialog();
    this.TextBoxOnMainForm.Text = form.FinalResult.ToString();
}

来自 MSDN 关于ShowDialog method

【讨论】:

  • 这帮助我很快解决了这个问题。谢谢。我也投了赞成票!
猜你喜欢
  • 1970-01-01
  • 2015-05-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多