【问题标题】:Create User Control from existing controls从现有控件创建用户控件
【发布时间】:2015-12-11 06:40:52
【问题描述】:

我有一个包含大量控件的 Windows 窗体的项目。正如我在Divide large windows form in pieces 中所读到的,我可以将其划分为几个用户控件。

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

    这不仅需要手动完成。

    更大但更有益的部分是为这些 UC创建有用的接口方法和属性

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

    这将是一项艰巨的工作,但是,如果您坚持下去,那将是非常值得的。

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

    在 UC 之间隐藏得越多,设计就会越好。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多