【问题标题】:Inheritable UI styles. Is it possible in Windows Forms? [closed]可继承的 UI 样式。是否可以在 Windows 窗体中使用? [关闭]
【发布时间】:2015-05-21 08:19:04
【问题描述】:

我有一个大约有 10 个 WinForms 的项目。现在,表单及其控件具有默认样式/外观。我想构建一个可以设置/更改每个表单的 UI 的类。

我相信应该开发一个接口类,然后应该继承到任何所需的形式。我希望我是对的。我该怎么做?

【问题讨论】:

  • 一个有点模糊的问题...你能补充一些例子吗?你有没有考虑过使用 WPF 来代替?还是将表单分解为多个可重复使用的自定义用户控件?
  • @FlorianSchmidinger:不,我不能使用 WPF。我应该使用 WinForms 本身。不知道你需要什么例子?我想了解更多关于将表单分解为多个表单并制作可重用的自定义控件的信息。谢谢
  • 如果您有某种重复的布局......即用于输入地址的标签和文本框,您可以制作一个封装这些功能的用户控件。然后你可以一遍又一遍地使用这个控件......另一个例子是数据导航......它也可以把这个用户控件放入额外的库中,这样你也可以将它们用于其他项目......那里也是派生的用户控件和派生的表单,可以以多态方式管理布局。
  • 一个很好的资源是 youtube 视频和/或来自微软虚拟学院的视频。用文字解释所有这些可能性就太过分了=)

标签: c# .net winforms user-interface inheritance


【解决方案1】:

您可以通过创建派生自Form 的基类来实现此目的。您可以在该基类中设置样式,这些样式将由派生该基类的所有类派生。例如,您可以设置FontBackColor

我想建议看看 WPF,它有一个更好的模型。 WPF 能够解耦布局和Window 的技术工作。 You can set styles that are applied automatically to all controls of a certain type.

【讨论】:

  • 您可以从所有类型的控件派生出基类,然后在需要时使用它们
  • @Shekhar:确实。相同的规则适用于作为表单的控件。谢谢。
  • @PatrickHofman :我不想使用 WPF。我需要使用 WinForms 本身。谢谢
  • @911Rapid:那么第一部分适用。
  • @PatrickHofman:那么,实现一个接口类对吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多