我可以在 WinForms 应用程序中使用哪个向导控件?

Posted

技术标签:

【中文标题】我可以在 WinForms 应用程序中使用哪个向导控件?【英文标题】:Which wizard control can I use in a WinForms application? 【发布时间】:2011-06-24 15:39:57 【问题描述】:

我一直在寻找可以在 .NET 3.5 下的 Windows 应用程序中使用的类似场景的向导(带有 Next/Back 按钮)。 .NET Framework 3.5 中有微软提供的向导控件吗?

【问题讨论】:

【参考方案1】:

不,Microsoft 不提供现成的向导控件作为 .NET Framework 的一部分。您需要自己构建。

网络上有几个示例可以帮助您入门:

Cristi Potlog's Wizard Control for .NET (可能是我最喜欢的) A Simple Wizard Control for .Net 2.0 with Full Designer Support GN Wizard Framework A .NET Wizard control Designer centric Wizard control TSWizard - a wizard framework for .NET

当然,如您所见,这些示例中的大多数实现了旧的 Wizard 97 界面,而不是新的 Aero Wizards(在 Windows Vista 和 7 中找到)。我也在 Code Project 上看到过其中一个:

Aero Wizard in VB.NET

但也许我见过的最好的实现是在 Windows Forms Aero 库中,可在 CodePlex 上下载here。 Aero Wizard .NET Library 是另一个不错的选择,也在 CodePlex 上。

这两个都是漂亮的、精心设计的向导控件,但它们都不能在 Windows XP(不支持 Aero 主题)上正常工作。您将遇到的最大问题是确保您的实现完全向后兼容,在 Vista 之前的 Windows 版本上运行时正确恢复为 Wizard 97 样式。我还没有看到一个控件可以将这个正确地发布到网上。

如果花钱购买第三方控件是一种选择,您可以查看 Devexpress 的 XtraWizard 或 Divelements 的 Wizard Framework。

但无论你选择哪条路线,我都强烈推荐关注Microsoft's Wizard guidelines。

【讨论】:

@Cody Gray:谢谢这对我很有帮助。假设我想构建一个支持动态创建 n 个向导的向导控件。那么哪个会更好的选择。?另外,现在需要关于 Aero Wizard .NET 库,是这个免费和完整的版本。我可以将它用于完整的开发目的吗,我的意思是,最终会正常工作而不会崩溃吗? @Lalit:是的,我提供的所有链接(底部的第三方控件除外)都是完整版本,可以在您选择的任何项目中使用。据我所知,即使对于商业应用程序,它们的使用也没有任何限制。不过,我不确定您所说的“动态创建 n 个向导”是什么意思。您可以根据需要在屏幕上显示同一向导的任意数量的副本,但是如果您想在运行时构建不同 向导,您可以像构建不同的表单一样执行此操作。您需要在代码中添加控件并设置它们的属性。 @Cody Gray:再次感谢您的宝贵指导。我也可以根据我的方便编辑它的源代码吗?我的意思是开源并且能够扩展其开发范围吗? @Lalit:是的,我几乎肯定所有这些项目都是开源的。相关网页上应该列出一些描述其许可证的内容,但通常情况下,您在网上找到的代码会发布到公共领域并免费供您修改。特别是CodePlex上托管的这两个确实是开源的,可以随意修改。我经常通过从网上找到的示例中获取点点滴滴来构建自定义控件。如果您觉得我的回答有用,请随时点击左侧的空心复选标记接受它。祝你好运! 我很感激,您正在努力完成我的回答。但正如我在这些控件中发现的那样,我们不能即时创建向导。意味着假设我想从数据库中获取问题的数量(我不知道它们的数量,可能是 100 或更多。这因情况而异)。我想创建向导页面的数量(与网格中的分页相同)。并希望在每个向导页面上填充每个问题。那我该怎么办?我发现这些链接限制了侧面向导控件中的向导页面数量。我怎样才能实现这种情况。请指导。

以上是关于我可以在 WinForms 应用程序中使用哪个向导控件?的主要内容,如果未能解决你的问题,请参考以下文章

在 C# 2.0 中创建向导的最佳方法是啥?

哪个日志实用程序适用于 C#(ASP.NET、WinForms)中的 .NET 应用程序? [关闭]

设计时的 WinForms 组件属性

vc++在哪个菜单下有:‘打开类向导’?

WinForms 工具栏办公室之类的

WinForms 应用程序中的地理位置