c/s程序想将一个窗体form分成上左右三块内容,类似网页中的frameset
上:放置图片横幅
左:放置树状菜单
右:菜单对应的详细信息(点左边的内容时内容从数据库读出来,根据内容的多少可以显示滚动条)

解决方案 »

  1.   

    splitter作什么用的?
    panel好像不能产生水平、垂直滚动条?
    怎样按百分比设置这三个panel的长度和宽度以便充满整个窗体?
      

  2.   

    to 楼主:
    我们建议你用panel+splitter,只是给你提供了一个界面的大体框架.  splitter是用于用户随时调整三个panel的大小的.
    至于滚动条,那要看具体用什么控件(放在相应的panel上)."点左边的内容时内容从数据库读出来,根据内容的多少可以显示滚动条"-----如果你用dbgrid,那它就有滚动条,直接把dbgrid放在右边的panel里就行.
    很多控件都有滚动条的.
      

  3.   

    怎样按百分比设置这三个panel的长度和宽度以便充满整个窗体?
    -------------------------------------------------------------
    这就建议你用panel+splitter,结合它们的align属性及height\width进行调整
      

  4.   

    楼上的已经说了!也有一些第三方组件,可以很好的做一些界面的处理,你在网上搜一下就有大把的!比如Raise等等!
      

  5.   

    窗体布局比较好的组件是DevExpress的LayoutControl, 而且有很详尽的教程,我用过,很不错。
      

  6.   

    最好是用四个窗体,其中一个是主窗体,然后将其它窗体停靠在主窗体上。最好不要用panel 这样会造成一个主窗体对象内容过于复杂,编写,维护困难。将每个窗体独立起来看起来是没有在一个窗体内访问容易,但好处是让你的程序结构更清晰。多个窗体之间访问一是用消息的方式,灵活代码重用率高,更符合OOP的思想。
    二是利用主窗体中转,每个子窗体只调用主窗体的方法,然后由主窗体传递出去。
    三个子窗体最好是在主窗体的onShow事件中动态生成。