C# 创建在单击“下一步”按钮时更新的表单。(c)

C# 创建在单击“下一步”按钮时更新的表单。(c),c#,forms,user-interface,visual-studio-2012,C#,Forms,User Interface,Visual Studio 2012,我试图在VisualStudio中创建一个表单,该表单接收用户的个人信息。 目前它包括名字、姓氏和出生日期。我还有一个“下一步”按钮 我想做的是,当单击“下一步”按钮时,我希望表单具有用于用户输入的新选项。在我的例子中,我希望表单中有地址、邮政编码和电话号码的新字段。正如你所看到的,我正在描述一种你经常遇到的典型形式。我只是不知道如何实现它。我应该如何着手实施它 在表单设计中,将基本层设为TabControl,然后为每个页面创建选项卡。确保按钮不在选项卡页上,而是在基本窗体上。然后,点击按钮,每

我试图在VisualStudio中创建一个表单,该表单接收用户的个人信息。 目前它包括名字、姓氏和出生日期。我还有一个“下一步”按钮


我想做的是,当单击“下一步”按钮时,我希望表单具有用于用户输入的新选项。在我的例子中,我希望表单中有地址、邮政编码和电话号码的新字段。正如你所看到的,我正在描述一种你经常遇到的典型形式。我只是不知道如何实现它。我应该如何着手实施它

在表单设计中,将基本层设为TabControl,然后为每个页面创建选项卡。确保按钮不在选项卡页上,而是在基本窗体上。然后,点击按钮,每次将选项卡切换到新页面。使用int类型的成员变量跟踪当前页面

因为您没有提供代码,所以出于示例的考虑,我将做一些假设。TabControl名为TabControl,它有n个名为tabPage_Page0到tabPage_Pagen的页面。“下一步”按钮的单击处理程序如下所示:

private void NextButton_Click (Object sender, EventArgs e)
{
    switch (_currentIndex)
    {
        case 0:
            tabControl.SelectTab(tabPage_Page1);
            break;
        case 1:
            tabControl.SelectTab(tabPage_Page2);
            break;
        case n:  //whatever that last number really is
            tabControl.SelectTab(tabPage_Page0);  //wrap back to the first page?  or exit?
            _currentIndex = 0;
            return;
    }

    _currentIndex++;
}

我们经常使用类似的东西。然而,我们更进一步,创建了一个继承自TabControl的类,该类提供了一个HideTabs成员,我们使用该成员覆盖DisplayRectangle并强制选项卡不可见。做一个整洁的演讲。

你要求的很简单,有两种方法可以做到这一点。1您可以添加或创建一个全新的自定义表单,然后对其进行实例化;2您可以使用带有隐藏字段的现有表单,并在其创建阶段调用该表单时,使这些字段可见。@Sumo Track-到目前为止您做了哪些尝试?@DJ 1听起来不错。但一开始我认为表单中可以有布局,所以当单击“下一步”时,它会转到下一个布局。@Mike C哦,老实说,我不知道如何实现它。我不熟悉C和visual studio。@我理解SumoTrack,但是StackOverflow更多的是针对有特定答案的特定编程问题。你的答案更加开放,而且过于笼统,无法给出正确的答案。使用一个简单的谷歌搜索,您可以在所有平台上找到许多关于在C中实现UI的资源。您会想返回到SO,问一个更像这样的问题,我正在使用C构建一个WPF应用程序,并且在尝试编译时收到了这个错误。下面是一些示例代码,我可能做错了什么?选项卡式设计听起来很棒。一定要去。非常感谢你。