我有一个Winforms表单,我在DataGridView控件中生成一个路由计算器。在客户输入之后,它进行计算,然后在"更新"之后更新同一表格上的文本框。被压了。我如何才能使得生成的表单中此文本框的值将转移到生成(子)表单上的现有文本框返回到父表单,并在执行此操作后关闭生成的表单。
以下代码将生成子表单:
DeliveryLocationCalculator form = new DeliveryLocationCalculator();
form.Show();
应该在子窗体的button2_Click(保存)按钮中进行哪些操作以使其传输文本框值,并在单击
后关闭子窗体答案 0 :(得分: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