Forms 在C#中以随机顺序的形式之间跳转
使用表单创建了一个测量样式应用程序,它包含30个表单。例如,第一个页面要求用户检查要加载的调查,并根据他们的检查打开正确的表单。一切都在一个方向上正常工作。我设置程序的方法是,第一页保存静态布尔变量,控制类(Main方法)检查变量是否为真,然后打开相应的表单。像这样,Forms 在C#中以随机顺序的形式之间跳转,forms,Forms,使用表单创建了一个测量样式应用程序,它包含30个表单。例如,第一个页面要求用户检查要加载的调查,并根据他们的检查打开正确的表单。一切都在一个方向上正常工作。我设置程序的方法是,第一页保存静态布尔变量,控制类(Main方法)检查变量是否为真,然后打开相应的表单。像这样, if (Survey.r == true || Survey.s == true || SurveySelection.M == true ) { Form6 newform
if (Survey.r == true || Survey.s == true || SurveySelection.M == true )
{
Form6 newform6 = new Form6();
Form6.Hide();
Form6.ShowDialog();
Form7 newform7 = new Form6();
Form7.Hide();
Form7.ShowDialog();
}
if (Survey.t == true)
{
Form12 newform12 = new Form12();
newform12.Hide();
newform12.ShowDialog();
}
等等,共有30种形式。每个窗体上的“下一步”按钮上都只包含此.Hide()
问题是如果我在这项调查中添加一个后退按钮,
我不知道如何处理它,因为调查不是线性的,更符合逻辑,因为它取决于用户选择的调查类型
它可以在一种情况下加载表格4、19、24、26,在另一种情况下加载表格3、6、9。我需要帮助或指导来实现此逻辑的后退按钮。任何帮助都将不胜感激。三十张表格并不多。您可以创建一个列表并维护指向当前位置的指针
private InitializeKnowSequence()
{
_formIndex = 0;
_formsList.Add(new Form2());
_formsList.Add(new Form2());
_formsList.Add(new Form3());
_formsList.Add(new Form4());
}
private void NavigatePrior()
{
if (_formIndex > 0)
{
_formsList[_formIndex--].Hide();
_formsList[_formIndex].Show();
}
}
private void NavigateNext()
{
if(_formIndex<_formsList.Count()-1)
{
_formsList[_formIndex++].Hide();
_formsList[_formIndex].Show();
}
}
谢谢你的帮助。我能够毫无问题地向前/向后导航。
private void PushForm(Form form)
{
_formsList.Add(form);
NavigateNext();
}