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

DCH*_*DCH 3 c# oop datagridview subclass

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

//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();
Run Code Online (Sandbox Code Playgroud)

OO原则是否可以?我的朋友说把代码放进去了

this.BorderStyle = <someValue>
Run Code Online (Sandbox Code Playgroud)

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

thi*_*eek 5

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