C#-可重用菜单的自定义控件还是用户控件?
在我当前的系统中,菜单是通过CustomControl代码生成的,其他项目也共享该代码来生成菜单。目前,我需要为它添加一些功能,以便当屏幕缩小时,它将被重新设计成更适合更小屏幕的设计,即移动屏幕 我已经解决了如何使更改生效,但是,我发现通过CustomControl生成html代码可能不那么容易维护。首先,要改变它的人需要知道它在做什么,也需要了解它的生命周期 我正在考虑是否应该将CustomControl重构为UserControl,但是在阅读了它们之间的不同之后,CustomControl似乎更适合,因为这个菜单系统是跨多个应用程序共享的 你们怎么想?由CustomControl生成它是否是一种糟糕的做法(因为它使维护变得更加困难)?如果我使用UserControl,这是一种减少代码重复的方法吗C#-可重用菜单的自定义控件还是用户控件?,c#,user-controls,custom-controls,C#,User Controls,Custom Controls,在我当前的系统中,菜单是通过CustomControl代码生成的,其他项目也共享该代码来生成菜单。目前,我需要为它添加一些功能,以便当屏幕缩小时,它将被重新设计成更适合更小屏幕的设计,即移动屏幕 我已经解决了如何使更改生效,但是,我发现通过CustomControl生成html代码可能不那么容易维护。首先,要改变它的人需要知道它在做什么,也需要了解它的生命周期 我正在考虑是否应该将CustomControl重构为UserControl,但是在阅读了它们之间的不同之后,CustomControl似
谢谢如果控件绑定到应用程序,我会选择
UserControl
,因为正如您所说,它更容易可视化、编辑和维护
如果您需要在多个项目中使用它,或者它需要高度可编程/可定制,那么我会选择服务器控件
我不会考虑一种或另一种不良做法。我会选择基于哪个最容易实现和维护。如果控件绑定到应用程序,我会选择
UserControl
,因为正如您所说,它更容易可视化、编辑和维护
如果您需要在多个项目中使用它,或者它需要高度可编程/可定制,那么我会选择服务器控件
我不会考虑一种或另一种不良做法。我会根据最简单的实现和维护方式进行选择。老实说,我只是对能够生成html代码的代码有点怀疑,觉得它们违反了单一责任原则。。也许我错了?不,因为他们的责任是生成结果HTML标记:)。我只是不喜欢它们,因为我认为服务器控件比它们需要的复杂得多。老实说,我只是对能够生成html代码的代码有点怀疑,觉得它们好像违反了单一责任原则。。也许我错了?不,因为他们的责任是生成结果HTML标记:)。我只是不喜欢它们,因为我认为服务器控件比它们需要的更复杂。