.net UI控件库的陷阱

.net UI控件库的陷阱,.net,winforms,controls,user-interface,.net,Winforms,Controls,User Interface,我正在构建一个c#winform应用程序,我继承的框架使用了这个库中的UI控件,这些控件看起来很好,但很陈旧,有缺陷。以前的开发人员更喜欢它们,因为它们允许更小的尺寸。我最近发现这些控件也是免费的:它们更新得多,功能更齐全 因此,我的问题是: 如果有任何失败,那该怎么办 有两个ui控件连接到 我的项目 值得我花时间去做吗 将所有Lumisoft更换为 DevExpress 什么是民族 使用UI的一般感受 图书馆就像DevExpress 1) 这里的缺点是,由于您使用的是两组功能可能重叠的控件,因

我正在构建一个c#winform应用程序,我继承的框架使用了这个库中的UI控件,这些控件看起来很好,但很陈旧,有缺陷。以前的开发人员更喜欢它们,因为它们允许更小的尺寸。我最近发现这些控件也是免费的:它们更新得多,功能更齐全

因此,我的问题是:

  • 如果有任何失败,那该怎么办 有两个ui控件连接到 我的项目
  • 值得我花时间去做吗 将所有Lumisoft更换为 DevExpress
  • 什么是民族 使用UI的一般感受 图书馆就像DevExpress
  • 1) 这里的缺点是,由于您使用的是两组功能可能重叠的控件,因此最终会分发更多的程序集,从而占用更大的硬盘空间。根据应用程序和目标用户的不同,这可能是问题,也可能不是问题。第二个问题是保持用户界面的一致性。如果两个库都提供Office2007的外观,它们的颜色可能不完全匹配,因此应用程序的外观可能不一致

    2) 只有你才能知道你的项目是否值得花时间。请注意,用来自不同供应商的另一个控件替换控件不太可能是对控件类的简单重命名。它们可能具有不同的属性集,因此您需要花时间修改代码,使其再次编译,然后重新测试,以确保其按预期工作。除非您的客户要求进行更改,否则与添加新功能所花费的时间相比,这样的努力是不值得的

    3) 除非您有一个非常简单的应用程序,否则您几乎可以肯定使用组件库来节省时间,而不是自己编写所有东西。这就是为什么Infrastics、DevXpress、ComponentOne和许多其他供应商从组件市场中获得了不错的收入。另外,他们倾向于使用最新的外观和感觉使他们的库保持最新,这使您更容易更新自己的应用程序以模仿相同的外观


    注:还有另一个免费控制库,名为,但为了公开起见,我要指出,这是我自己写的!所以我倾向于推荐它。

    当我决定利用第三方控件时,我要做的是在我的项目中创建一个自定义控件,作为第三方控件的简单容器

    然后,我创建自己的属性,这些属性允许我定义如何完成基础控件的设置和自定义。为什么要这么麻烦

    因为如果我想从第三方供应商A切换到第三方供应商B,我只需要更改我的自定义控件,所有对供应商A控件的引用现在都消失了,并替换为供应商B控件

    根据您正在包装的控件的复杂性,这可能不是一个可行的解决方案。但是,如果您必须找到所有这些旧控件并将它们切换到其他控件,那么现在提前一点时间也许可以为您节省将来的麻烦,因为您可以找到其他更喜欢的控件(甚至选择自己实现)

    祝你好运