0

我正在制作一个应用程序,其中有一个主FormFormMain 和一个助手FormFormHelper。

为了便于理解,举个例子,在 FormMain 中,用户正在输入订单,并且用户经常想要打开 FormHelper 并在其中填写一些值。

保存订单时,FormMain 中的值以及 FormHelper 中的值都会被保存。

我所做的是使 FormHelper 成为 FormMain 定义中的一个字段:

public partial class FormMain : Form
{
    FormHelper BillsForm;
}

并且,在构造函数中:

 public FormReceiptNew(string ReceiptNo)
    {
        InitializeComponent();
        BillsForm = new BillsForm();//just once
    }

现在假设用户在填写 FormMain 时,想在 FormHelper 中输入一些值,他/她可以按 ALT+H 并显示 Form ShowDialog(),完成后,用户将关闭 FormHelper,同样的过程将发生多次 FormHelper 是必需的。

我希望多次打开同一个表单的原因是用户正在其中填写某些值,并且我想在下次再次显示 FormHelper 以及用户完全使用 FormMain 时保留这些值, FormMain 中的值将与 FormHelper 中的值一起保存。因此,当用户每次按 ALT+H 时,以下代码将不起作用:

BillsForm= new FormHelper();
BillsForm.ShowDialog(); 

因为它正在创建一个新表单,所有旧值都将被删除。

4

2 回答 2

0

如果要在关闭后将这些值存储在主窗体中,则可以在创建时通过构造函数或设置器将这些值发送回 FormHelper。从您的问题来看,听起来您将要存储要在主窗体中保留的那些值,因此在创建时设置它们应该不是问题。

于 2011-06-14T04:29:08.017 回答
0

In your main form, store a reference to the helper form. You instantiate the helper form once (onLoad for example) and keep calling showDialog() on that same object. All the fields should be retained between calls.

于 2011-06-16T00:01:53.793 回答