各位大楼,小弟是新手,如下内容请教阿:程序本来有form1、form2、form3,
现在要做一个form4,form4的内容与form2很都一样,
用“复制”form2后改窗体的名字不行,后用“添加新项目\继承自窗体”,继承自form2,
之后生成了form4,但是form4在设计界面中各个控件都被锁定,不能编辑,属性也都不能编辑!为什么呀?为什么呀?另外,我的form2的load事件中有数据库加载代码,是否与之有关?为什么呀?为什么呀?

解决方案 »

  1.   

      把Modifiers设置成Public
      

  2.   

    这种结构,最好先考虑一下有无继承的必要, 比如form2稍加点代码就能完成form4的工作.
      

  3.   


    bwangel 大侠所说,小的不太明白,能否再详细点点?
      

  4.   

    新建一个Form4窗体;选择Form2窗体,查看代码,全选,复制;选择Form4,查看代码,全选删除,粘贴。
    按ctrl+F 查找替换,将所有Form2替换为Form4 。保存!
      

  5.   

    这要看你的具体要求,我也没说一定. form4和form2到底有哪方面的不同?
      

  6.   

    微软有个BUG,凡是容器控件里的控件无法在编辑界面修改
      

  7.   

    你加入的控件默认为private  修改为Protected就可以在继承后修改了
      

  8.   


    试验过,可以编辑控件,但是原来form2中的代码还是看不见阿!!跟改成public有什么区别么“?
      

  9.   

    form2的代码当然在form2中了
    你要明白继承的含义啊,抛开窗体的界面,那是表面的东西class a
    {
      private int id;
      protected string name;
      
    }class b:a
    {
      private string passowrd;
    }
    class test
    {
      b b=new b();
      b.name=="asadf";
    }这个代码的b类中你看见代码了吗,是不是只是看见password,可是他还有一个从a继承的name呢,是不是
    看不见代码是因为在基类里面,看见的是新加的扩展积累的东西属于基类窗体的界面肯定是不能改了,那个要在基类里面改,除非你的基类成员定义成virtual,那样的话在继承类就可以修改了
    说了一大堆,不知道你明白没有呢
    就是说要么你修改基窗体,要么你把基窗体的改成virtual
      

  10.   

    private 私人物品 自己用
    protected 可以给自己用 自己孩子也能用
    public 大家都可以用 - -哈哈