我正在制作一个简单的向导。我创建了一个静态类来保存我的表单:
namespace LABEL_AUTOMATION
{
static class ProjectHelper
{
public static Form1 frm1 = new Form1();
public static Form2 frm2 = new Form2();
}
}
对于form1的下一个按钮,我有以下代码:
private void buttonNext_Click(object sender, EventArgs e)
{
this.Visible = false;
ProjectHelper.frm2.Visible = true;
}
和 form2 的后退按钮的类似逻辑:
private void buttonPrevious_Click(object sender, EventArgs e)
{
this.Visible = false;
ProjectHelper.frm1.Visible = true;
}
问题是当我在表单之间移动时,文本框等控件的值会被清除。
如何纠正它?
另外,当用户在表单之间切换时,我正在使用表单的可见更改事件来执行代码。但是,该事件在表单可见之前被触发。我可以使用其他任何活动吗?
编辑:我实际上并没有更改实际上创建和运行 Form1 的单独实例的 Program.cs 文件。所以我将代码更改为:
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
ProjectHelper.frm1.Show();
}
但它给出了以下错误:
The type initializer for 'LABEL_AUTOMATION.ProjectHelper' threw an exception.