none
C#中怎样限定MDIChild在MDIParent中的位置? RRS feed

  • 问题

  • 各位大侠,
          在学习C#的treeview与MDIParent使用的时候遇到些问题, (提供些MDIParent与MDIChild的相关学习资料,感谢).
    想实现的是 一个splitContainer,左边是treeview,右边是生成treeview点击需出现的对应得Childform,
    也就是在右边的一块区域产生MDIChild,不知道怎么实现,希望大家给些帮助,感谢!


    每天都有进步。。
    2009年9月8日 4:43

答案

  • 你好!
         可以通过MDIChild的Location属性来设置位置,记得把StartPosition属性设置为Manual,这样开始的时候Location的设置才会有效!
    周雪峰
    2009年9月8日 4:50
    版主
  • 1 使用 MDI :你可以在 MDI 窗体上拖放一个 TreeView , 设置 TreeView.Dock = DockStyle.Fill。这样子窗体就会显示到 MDI 窗体剩余的的空间中。
    2 不使用 MDI :在窗体中拖放 splitContainer, 左边放 TreeView 右边通过动态的加载 UserControl 来实现

    知识改变命运,奋斗成就人生!
    • 已标记为答案 ProRainy 2009年9月8日 5:26
    • 取消答案标记 ProRainy 2009年9月8日 7:03
    • 已标记为答案 YiChun Chen 2009年9月15日 2:42
    2009年9月8日 4:51
    版主
  • 比较简单的是在子窗体的 Move 事件中,判断窗体是否超出了,如果超出了就重置 location , 但我觉得没有必要这样做,默认的就挺好。
    知识改变命运,奋斗成就人生!
    2009年9月8日 7:47
    版主

全部回复

  • 你好!
         可以通过MDIChild的Location属性来设置位置,记得把StartPosition属性设置为Manual,这样开始的时候Location的设置才会有效!
    周雪峰
    2009年9月8日 4:50
    版主
  • 1 使用 MDI :你可以在 MDI 窗体上拖放一个 TreeView , 设置 TreeView.Dock = DockStyle.Fill。这样子窗体就会显示到 MDI 窗体剩余的的空间中。
    2 不使用 MDI :在窗体中拖放 splitContainer, 左边放 TreeView 右边通过动态的加载 UserControl 来实现

    知识改变命运,奋斗成就人生!
    • 已标记为答案 ProRainy 2009年9月8日 5:26
    • 取消答案标记 ProRainy 2009年9月8日 7:03
    • 已标记为答案 YiChun Chen 2009年9月15日 2:42
    2009年9月8日 4:51
    版主
  • 謝謝X.X.Y.
    原來的錯誤是我使用splitContainer的時候就把它fill了,沒有剩下空間給子窗體顯示.

    感謝 X.X.Y & 雪峰


    每天都有进步。。
    2009年9月8日 5:29
  • Hi X.X.Y & 雪峰,

                又有一个新的问题想请教两位大侠, 怎样来禁止子窗体 超出 主窗体的范围,就是主窗体中不会出现下拉条(主窗体是运行后就一直最大化的).
    感谢!


    每天都有进步。。
    2009年9月8日 7:06
  • 比较简单的是在子窗体的 Move 事件中,判断窗体是否超出了,如果超出了就重置 location , 但我觉得没有必要这样做,默认的就挺好。
    知识改变命运,奋斗成就人生!
    2009年9月8日 7:47
    版主