【问题标题】:C# Split ContainerC# 拆分容器
【发布时间】:2013-07-05 14:54:21
【问题描述】:

如何调整大小以适应表单,例如当我尝试最大化表单时,拆分保持相同的尺寸,我希望它具有表单的新大小。谢谢。

【问题讨论】:

  • 你有没有尝试解决你的问题?
  • 您需要编写一些在 onresize 处理程序上运行的代码。
  • 请用您已经尝试过的内容扩展您的问题,并可能提取一些代码。
  • Anchor设置为Top, Bottom, Left, Right
  • 我不知道您为什么会遇到这个问题,因为默认情况下将SplitContainer 拖放到表单上会使其填充并根据表单大小调整大小。如果没有,您可以将Dock 属性设置为DockStyle.Fill,它应该可以工作。

标签: c# winforms


【解决方案1】:

我在面板的 resize 事件中添加了一个事件(在表单调整大小时调用),然后设置了该容器的宽度,它工作正常。

   private void splitContainer1_Panel1_Resize(object sender, EventArgs e)
   {
        this.splitContainer1.Width = this.Width / 10;        }
   }

【讨论】:

    【解决方案2】:

    您必须计算并存储拆分两边的比例并将其存储在一个字段中。 您必须在面板调整大小时设置 panelLeftProp。 如有必要,您必须检查面板最小宽度。

        double panelLeftProp;
    
        private void panelLeft_Resize(object sender, EventArgs e)
        {
            panelLeftProp = panelLeft.Width / this.Width;
        }
    
        private void Form_ResizeEnd(object sender, EventArgs e)
        {
            if (WindowState == FormWindowState.Minimized)
                return;
    
            panelLeft.Width = (int) (this.Width * panelLeftProp);
        }
    

    【讨论】:

      【解决方案3】:

      使用设置 Dock 属性为 DockStyle.Fill

      例如..

                 splitContainer1.DockStyle= Dock.Fill
      

      【讨论】:

        猜你喜欢
        • 2013-12-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-05-25
        • 1970-01-01
        • 2012-07-16
        • 1970-01-01
        相关资源
        最近更新 更多