是否有关于如何在C#中创建向导的框架或教程。我需要为用户提供一系列选择/用户输入。我认为奇才队是一个理想的方式。我需要每页上的下一个/后退按钮。我还没有创建过巫师。任何输入都会非常有用。
答案 0 :(得分:2)
我正在为CodeProject撰写一篇关于“穷人的向导”的简短文章,该文章使用标准的WinForms TabControl作为其“基础”:但这将在几周内没有准备好。
但是考虑使用标准WinForms TabControl的优势可以为您提供:
“less code”==“cheap”:它将处理Manzoor Ahmed上面评论所建议的所有“业务”(交换一堆面板),代码少得多。
“没有绘画”==“少工作”:它可以在没有任何特殊的拥有者或绘画代码的情况下使用(上面由Jay Riggs引用的CodeProject上的席梦思文章有一些可选的自定义绘画用于渐变,但我有没有检查该代码是否可以在没有任何自定义绘图/绘画的情况下使用它。当然,请注意,Manzoor的建议也不会要求自定义绘图/绘画。
用户界面的灵活性:您可以显示标签,或隐藏标签。
以下是关于如何开始将TabControl用作“向导”的两个想法:
I:如果您不希望它们可见,如何隐藏Tabs(假设在名为Form1的Form上名为tabControl的TabControl):
一个。如果要恢复选项卡的可见性:创建Region类型的Form范围变量,并在Form Load事件中将TabControl的当前Region放入该变量:
Region tabOriginalRegion;
private void Form1_Load(object sender, EventArgs e)
{
tabOriginalRegion = tabControl1.Region;
}
湾将此添加到“表单加载”事件以隐藏选项卡
// hide the tabs
tabControl1.Region = new Region(tabControl1.DisplayRectangle);
II:隐藏标签后:显然,您可以在每个标签页上放置自己的按钮来控制前后移动。如果选项卡 可见,那么您将需要处理TabControl的'选择事件:在该事件处理程序中,您可以使用e.TabPage获取“目标”选项卡,并且您可以取消导航到通过设置e.Cancel = true来确定“目的地”标签。
希望这很有用。
答案 1 :(得分:1)
答案 2 :(得分:1)
我发现DevExpress XtraWizard控件非常适合使用
答案 3 :(得分:1)