【发布时间】:2010-10-10 07:53:45
【问题描述】:
我已经制定了在使用之前继承每个 UI 控件的个人规则。在前世,我一直认为这是你可以做的不太有用的事情,因为理由似乎总是“我可能想一次更改所有按钮上的字体”......这种动机从未得到回报...一次...永远。
不过,最近的两个项目改变了我对这种做法的看法。首先,我们需要一个一致的“ValueChanged”事件,这样我们就可以轻松地在我们的表单上实现一个“脏”标志,而无需大量的 switch 语句来在 Textbox 的“TextChanged”事件或 ListBox 的“SelectedIndexChanged”等之间进行选择。我们只是想在所有控件上监听一个一致的东西,并且对内置控件进行子类化很容易为我们带来了这一点。
在第二个项目中,我们尽一切努力使用基本控件,因为 UI 本来应该很简单,但几个月后,很明显他们不再打算削减它了,我们购买了 Telerik 控制套件。如果我们从一开始就继承了所有控件,那么将派生控件更改为从 Telerik 控件继承将在全局范围内为我们应用更改。相反,我们必须在所有表单设计器中进行一些搜索和替换。
所以这是我的问题:什么是相对优势和劣势
- 只需添加一个类,并使其从控件继承。
- 添加新的“自定义控件”并继承。
- 添加新的“组件”并继承。
最后,这三个都有相同的效果,你会得到一个新类型的按钮来放在你的表单上。我见过不同的人使用这三种方式,每个人似乎都认为他们的方式是最好的。我想我应该把这个讨论放在 StackOverflow 上,也许我们可以作为一个社区就哪一个是“正确”的方式达成共识。
注意:我已经有我的个人意见“正确”,但我想看看世界的想法。
【问题讨论】:
标签: winforms user-controls controls webforms