从现有控件创建用户控件

时间:2015-12-10 22:00:54

标签: c# .net winforms visual-studio refactoring

我有一个带有一个Windows窗体的项目,其中包含大量控件。当我在Divide large windows form in pieces中阅读时,我可以将其划分为少数用户控件。

如何从少数现有控件创建用户控件(当他们将代码分配给其行为时 - ButtonClick等)? 是否有自动方式在Visual Studio中执行此操作,或者我必须在Designer视图中手动复制控件,然后剪切并粘贴控件后面的代码?

谢谢!

1 个答案:

答案 0 :(得分:1)

这不仅需要手动

更强大但也更有益的部分将是为这些UC创建有用的界面方法和属性

所有他们的控件将成为私有成员,并且无法与其他UC中的控件一起使用。因此,您必须选择所有这些依赖项,并在UCs中创建定义良好的属性,以取代进入不同UC的控件之间的所有交互。

这将是很多工作,但是,如果你遵循它将是非常值得的。

不要只是为了让它们公开和/或在所有UC之间创建引用,只是为了让它更容易。而是创建有意义的公共方法,属性和委托来表达意图发生的事情,而不是在所有内容被打到同一个表单之前编码的内容!

你可以在UCs之间躲得越多,设计就越好......

示例:目前可能是CheckBox,允许用户在两​​种模式之间切换。

将该模式设为Property,其名称很好,并由CheckBox进行控制。不要公开CheckBox!大多数情况下,一个UC应该永远不知道任何其他UC的控制,只能知道几个属性。