c# - 从标准小部件继承并在 C# 中设置我自己的默认值是个好主意吗?

标签 c# oop datagridview subclass

在 Visual Studio (C#) 中设计应用程序时,如果我知道我将拥有一定数量的 DataGridView,它们都具有相同的属性(例如宽度、高度、颜色,以及一些其他属性,例如:禁用直接编辑行的选项,等)是否可以创建我自己的继承 DataGridView 类的类(“myDataGridView”)并在那里进行所有调整,然后稍后在代码中实例化该类?像这样:

//my class:
class myDataGridView : DataGridView 
{
    this.BorderStyle = <someValue>
    this.ColumnCount = <someValue>
    //etc.

    public void method1() 
    {
    //some code...
    }
    public void method2() 
    {
    //some code...
    }
}

//instantiate it somewhere:
myDataGridView dgv1 = new myDataGridView();
myDataGridView dgv2 = new myDataGridView();
myDataGridView dgv3 = new myDataGridView();

关于 OO 原则可以吗?我的 friend 说把代码放在

this.BorderStyle = <someValue>

在 myDataGridView 类中是不好的做法,因为像这样调整属性会超出 dataGridView 的属性,如果您明白我的意思,其他一些开发人员可能会在 Visual Studio 中进行可视化调整。那有关系吗?我的意思是,如果我想将我的 DataGridView 视为一个对象,那么它可以拥有自己的属性和行为,对吗?在我的类中拥有调整 DataGridView 属性的代码是可以的,可读的,并且每个想要更改某些属性的其他开发人员都可以在 myDataGridView 类中更改它。那种做法不好还是错的?如果是,那么当您知道您的应用程序将包含许多具有相同属性/行为的 DataGridView 时,最佳做法是什么?谢谢。

最佳答案

在我看来,这不是正确的方法。仅仅为了少数属性修改而继承控件没有意义。您没有在控件中引入任何其他行为,而是尝试编写一些初始化辅助方法来执行此操作。

关于c# - 从标准小部件继承并在 C# 中设置我自己的默认值是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5301182/

相关文章:

c# - 如何使用我的 xml 数据加载 datagridview

c# - 是否可以列出我们所有的字符串变量名称和值

c# - 如何在 Sharepoint 2010 中扩展 OOTB 内容编辑器 Web 部件?

c++ - 初始化基类的引用成员

c++ - 尝试初始化动态数组时未处理异常

.net - 暂停 Windows 窗体的重画

c# - 如何获取 C# 中的总物理内存?

c# - 如何在 C# 中使用反射通过 ProgID 调用 COM 对象

c++ - 从存储派生类的基类 vector 实例化 unique_ptr 到派生类

c# - 在dataGridView的header中自动生成行号