从理论上讲,你可以从一个表格中获得,但这是你不应该做的事情吗?我直觉地这么认为,但我从来没有听说过这样的规则。
我指的是一些已经从Form派生的conrete类。例如,如果我有class MyForm : Form
,问题是:我可以从MyForm
派生出来吗?
答案 0 :(得分:5)
在创建新的Windows窗体时 应从
答案 1 :(得分:4)
没有严格的规则阻止您导出Windows窗体。如果你有充分的理由这样做(例如,在整个项目中贯穿整个项目的某些功能),那就继续吧。
答案 2 :(得分:2)
从一个基本的Form派生类派生表单是完全合理的,并且对于为您的应用程序提供标准外观非常有用。
答案 3 :(得分:1)
我们已成功从表单派生一个类,然后从中派生出项目中的所有表单。它使我们可以轻松应用项目范围的政策。我们所有的表格都具有一致的外观和感觉。它还使每个表格都很容易记住它的大小和位置。
答案 4 :(得分:1)
我强烈建议从BaseForm继承。这使得f.e.非常容易使所有EditForms看起来像,因为您可以在基础上设置公共控件(如按钮),为它们提供背景颜色/图像等。所有可以分组的表单都是如此。 我通常有1个BaseForm,然后根据它的'group'再次使用BaseForm(编辑,列表,对话框......)
它让你看起来更加一致。
代码也是如此,通常Edit表单有一个类似的代码库:验证,保存逻辑,...你可以将所有这些逻辑放在baseform上,然后有一些抽象的方法,你可以在childform。
答案 5 :(得分:0)
问题实际上取决于派生类的功能。
表单和许多此类结束类旨在执行许多复杂的任务,以便为您提供表单相关活动的全部优势,而无需编写太多代码。
规则将是这样的,“如果你打算做一个简单的窗口操作,如果它不会打扰常规行为,那么最好不要从表单派生。
或者由于表单负载很重,因此可以通过从基类而不是表单派生来节省内存和CPU时间。