有点新的Microsoft Visual C# . 我做了一个简单的程序. 一切都工作得很好,不幸的是,对我来说棘手的部分是我不知道如何正确布局我的对象 . 我想复制Microsoft visual C#界面的布局,其中每当主窗体重新调整大小并且用户可以调整每个面板的宽度和高度时,面板会调整到它们的预定义比率和比例 . 任何读数或代码都会有很多帮助 . 非常感谢!
将TableLayoutPanel放置为基本控件,将其锚定到所有边,使用“百分比”大小定义任意数量的列和行 .
然后将表单的不同部分放在不同的表格单元格中 . 将控件正确停靠在每个单元格中 .
如果需要,也可以在表格上方使用拆分容器 .
理想的顺序应如下所示
SplitContainer TableLayoutPanel面板控件
请按照这些教程链接了解有关使用Dock和Anchor属性在Windows中调整大小的信息 . 沿着这个布局控件将帮助您管理布局 - FlowLayoutPanel和TableLayoutPanel,Panel,GroupBox等 .
Designing Resizable Windows Forms in Visual Studio .NETManage WinForm controls using the Anchor and Dock properties
这个one好多了解 .
你可以做很多事情:
允许使用类似FlowLayoutPanel的自动布局
允许使用Splitter调整控件大小
查看自定义实现以提供更高级的功能Collapsible Splitter
对于一个简单的开始,锚属性是你想要的 . 因此,例如,如果为该左手控件设置所有四个锚点,并且父窗口更改大小,它将按比例调整大小 .
之后它开始变得复杂 . 添加面板,然后将控件放入其中 . 将Dock设置为left,或者top或fill . 在可滚动控件上成长和眨眼 . 分离条 .
最后一个沟渠处理调整大小事件和计算位置和大小 .
坐下来考虑一下你想要发生什么,玩弄最小和最大高度和宽度,即没有任何意义,你的形状看起来就像它的邮票大小...
PS不要忘记VS允许浮动面板,并且在布局中坚持(有时候)用户选择,这是一个更大的工作 .
4 回答
将TableLayoutPanel放置为基本控件,将其锚定到所有边,使用“百分比”大小定义任意数量的列和行 .
然后将表单的不同部分放在不同的表格单元格中 . 将控件正确停靠在每个单元格中 .
如果需要,也可以在表格上方使用拆分容器 .
理想的顺序应如下所示
SplitContainer TableLayoutPanel面板控件
Designing Resizable Windows Forms in Visual Studio .NET
Manage WinForm controls using the Anchor and Dock properties
这个one好多了解 .
你可以做很多事情:
允许使用类似FlowLayoutPanel的自动布局
允许使用Splitter调整控件大小
查看自定义实现以提供更高级的功能Collapsible Splitter
对于一个简单的开始,锚属性是你想要的 . 因此,例如,如果为该左手控件设置所有四个锚点,并且父窗口更改大小,它将按比例调整大小 .
之后它开始变得复杂 . 添加面板,然后将控件放入其中 . 将Dock设置为left,或者top或fill . 在可滚动控件上成长和眨眼 . 分离条 .
最后一个沟渠处理调整大小事件和计算位置和大小 .
坐下来考虑一下你想要发生什么,玩弄最小和最大高度和宽度,即没有任何意义,你的形状看起来就像它的邮票大小...
PS不要忘记VS允许浮动面板,并且在布局中坚持(有时候)用户选择,这是一个更大的工作 .