我有两个表单:MainForm
并且OptionsForm
,其中有一个按钮 ( OK
),用于在 MainForm 上应用一些更改。当我第一次打开 OptionsForm 时,一切正常,使用默认值。
在我进行一些更改并单击“确定”后,选项被应用,但是当我第二次打开 OptionsForm 时,我想保留以前的值,而不是像它发生的那样的默认值。
OptionsForm 像这样通过 MainForm 打开
OptionsForm formOptions = new OptionsForm();
if (formOptions.ShowDialog(this) == DialogResult.OK)
{
// etc..
}
//...
public string otherLabel
{
get { return formMainLabel.Text; }
set { formMainLabel.Text = value; }
}
在 OptionsForm 我有一个 NumericUpDown 并想保持它的价值
private MainForm mainForm = null;
public OptionsForm(Form callingForm)
{
mainForm = callingForm as MainForm;
InitializeComponent();
}
// ...
private void btnOK_Click(object sender, EventArgs e)
{
this.mainForm.someLabel= someBox.Value.ToString(); // NumericUpDown
this.mainForm.otherLabel = "abc"; //>>> Getting NullReferenceException
this.Close();
}
现在我可以保留我的设置,但我得到了一个NullReferenceException
. 我试过了,但它仍然无法正常工作。有什么建议吗?