.net - 从 C# 中的窗体继承

标签 .net forms inheritance

我有几个已经存在的表单,比方说 CUSTOMERS 和 ORDERS,我计划再创建六个。在 C# 中,它们是分部类。

         public partial class CUSTOMERSFORM : Form
         public partial class ORDERSFORM : Form

现在我决定,如果可以继承所有这些表单共享的一些通用属性和方法(不是 GUI 功能,而是我的数据中间件的一些粘合代码),那将是一件好事。

我能否简单地创建一个没有可视化组件的 MyBaseForm,将这些属性和方法安装到 MyBaseForm 中,然后像这样修改现有代码?

        public partial class CUSTOMERSFORM : MyBaseForm
        public partial class ORDERSFORM : MyBaseForm

如果上述可行,我添加到现有客户和订单表单中的所有视觉设计是否会保持原样?会不会有任何问题(假设没有方法或属性命名冲突)?

编辑:MDI 会在这里抛出任何曲线球吗?

谢谢

最佳答案

是的,这是受支持的场景以及有多少 WinForms 代码库功能。

public class MyBaseForm : Form {
  public string MyProperty { get; set; }
}

public partial class CUSTOMERS : MyBaseForm {
  ...
}

public partial class ORDERS : MyBaseForm { 
  ...
}

关于.net - 从 C# 中的窗体继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395012/

相关文章:

c++ - 子类中具有不同值的静态基类属性

c++ - static_cast 是否会使编译器分配比 new 运算符所指的空间更多的空间?

c# - 机器人框架 : Detect when the user uploaded a file

forms - 导轨 4 : collection_select not inserting 'class' attribute?

javascript - ReCaptcha:发送验证码时如何自动提交表单

javascript - HTML - URL 输入表单

c#在一个目录下使用不同版本的dll

c# - 删除空字符串

c# - 哪种调用 Form.ShowDialog() 的方法更好?

javascript - 这种 Javascript 继承方法有问题吗?