在c# 继承一个父窗体,如  Form2 : Form1...   但是这样的继承过来的窗体,父窗体的子控件在派生窗体中属性、事件和移动多是被禁止的。多是在dephi中 继承一个父窗体,父窗体的子控件的属性、事件和移动多是可以修改并继承方法的..这才体现继承的优势,比如我在公共的父类里面说下公共的方法..其他继承他后..既可以共用父的方法..还可定义自己独有的方法。。     dephi使用关键字Inherited控制调不调用父类的方法.   对c#窗体继承理解太少....请教c#怎样灵活的使用继承...

解决方案 »

  1.   

    楼主说的是派生的窗口在设计器中看到的继承的属性都是不可编辑的吧,不管这个属性在父类中是否被定义为protected还是public。就算是这样,在设计器中不能编辑,但是在代码中是可以对这个属性赋值的。
      

  2.   

    不论什么语言,继承这种机制大体是相同的。C#里面,窗体本身就是一个类,名称为System.Windows.Forms.Form,你继承后就能获得它所提供的属性、方法等等,当然有些不会在属性窗体中显示出来,通常都是在代码中编辑的。
      

  3.   

    你描述的有点混乱。
    .net窗体上添加的控件默认是private访问的,这反而是更面向对象,因为控件对窗体而言是内部的部件,面向对象的意思是你看到Form1,然后访问Form1上的某个属性,而不是Form1的某个控件的某个属性。这样更合理,比如From1.Textbox1.Text在Form1里包装为Form1.UserName,在Form1外,只能用UserName这个具有逻辑意义的属性访问,而不是直接操作Form1的控件。你可以修改控件的Modify属性为protected来开放给子类使用。
      

  4.   

    在窗体中默认的都是private的,要想在其他窗体中引用他们的话就得用public了,不然会受到访问权限限制的。