在项目开发中,做了如下的继承,Form_B继承自Form_A,Form_C继承自Form_B,这几个窗体均为子窗体,但不论把Form_c怎么设计,出来的时候它都和Form_A的尺寸一样,Form_C上面有Anchors设定的控件都会自动乱跑,我目前只能在onCreat里写他们的位置或者重载Constructor,用修改Align的方法我也试过,但是不方便,据说有一段代码写在project里面就可以解决这个问题,可我一直没找到,老板都要发飙了,请诸位大侠救命!!
     help!!!!!!

解决方案 »

  1.   

    修改子窗口則不會影響父窗口删除 其控件不可以
    大小随便修改啊
    或者你在父窗口中的FORMCREATE,FORMSHOW里写了什么东西,把大小重新调整了
      

  2.   

    swayi21(微斯人) 说得好
    我觉得也是,父窗体里面的构件应尽量少,并且尽量是公用的东西,这样既成的时候就不用谢代码了
      

  3.   

    在项目中是这么做的,Form_A是所有子窗体的父类,今后做美化时候主要调整他,Form_B是某种子窗体,上面带一个DBLookUpBox和一个DateTimePicker,Form_C就是要用的窗体了,是否属于滥用继承,请指教.
      

  4.   

    至于处理方式我是听几个高手都说不麻烦,才决定继续用mdi的,而且我感觉问题好像是在Anchors的设置上,而且问题的关键在于,无论我在设计的时候把Form_c拖成多大,出来的时候总是Form_A的长宽,这个有救么?
      

  5.   

    难道是MDI的问题?我这几个继承都是mdi的子窗体
      

  6.   

    “Form_B继承自Form_A,Form_C继承自Form_B”表述成:
    “Form_C继承自Form_B,Form_B继承自Form_A”更明白些,呵呵。
    我估计的问题是在B或者A中某些事件处(如FormCreate、FormShow等)中调整了窗体大小或者位置。解决办法是:在C的响应事件里注释掉inherited。
    可以试试,不一定是这个问题。————————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    ————————————————————————————————————
      

  7.   

    绝对没有,我在Form_A里面就没有代码,只是在窗体上设置了一些字体一类的属性,它只是为了保持整体的风格而存在的,Form_B上就作了两个数据库连接,我用的是D7,跟这个有关系么?
      

  8.   

    我只是希望从一个窗体中继承下来得后代能有不同的尺寸大小阿,很久了都没有答案,除了在oncreate里面设,真的就没辙了么?