我正在构建一个c#winform应用程序,我继承的框架使用来自这个库LumiSoft的UI控件。这些似乎很好但是老化和错误。之前的开发人员更喜欢他们允许的较小尺寸。我最近也免费发现了这些控件:DevExpress这些控件更新,更全功能。
我的问题是:
答案 0 :(得分:3)
1)这里的缺点是你最终会分发更多的程序集,因此占用更大的硬盘驱动器占用空间,因为你使用的是两组可能在功能上重叠的控件。这取决于您的应用程序和目标用户,这可能是也可能不是问题。第二是保持用户界面一致的问题。如果两个库都提供Office 2007外观,那么它们可能与颜色不完全匹配,因此您的应用程序可能看起来不一致。
2)只有你能知道你的项目所需的时间是否值得。考虑到将控件替换为来自不同供应商的控件不太可能是控件类的简单重命名。它们可能具有不同的属性集,因此您需要花时间修改代码,以便再次编译然后重新测试以确保它按预期工作。除非您的客户要求进行更改,否则与添加新功能所花费的时间相比,这是不值得的。
3)除非你有一个非常简单的应用程序,否则几乎可以肯定使用组件库节省时间而不是自己编写所有内容。这就是为什么Infragistics,DevExpress,ComponentOne和许多其他供应商在组件市场上的良好生活。此外,他们倾向于使用最新的外观和感觉来更新库,这样可以更轻松地更新您自己的应用程序,以模仿相同的外观。
N.B还有另一个名为Krypton Toolkit的免费控制库,但为了披露,我会指出我自己写的!所以我有偏见推荐它。
答案 1 :(得分:0)
当我决定利用第三方控件时,我所做的是在我的项目中创建一个自定义控件,作为第三方控件的简单容器。
然后,我创建自己的属性,允许我定义如何完成底层控件的设置和自定义。为什么要解决所有这些麻烦?
因为如果我想从第三方供应商A切换到第三方供应商B,我只需要更改我的自定义控件,所有对供应商A控件的引用现在都已消失,并替换为供应商B控件。
根据您所包装的控件的复杂程度,这可能不适合您。但是,如果您必须找到所有这些旧控件并将其切换为其他内容,那么现在可能有一点时间可以为您节省任何未来的麻烦,因为您找到了您更喜欢的其他控件(甚至选择实施自己)。
祝你好运!