C# 单独的控制器调整彼此相关的大小和窗体大小

C# 单独的控制器调整彼此相关的大小和窗体大小,c#,winforms,visual-studio-2008,user-interface,C#,Winforms,Visual Studio 2008,User Interface,我想用MicrosoftVisualStudio设计一个简单的表单,我有一个DataGridView和一个ListView。当我调整主窗体的大小时,我希望组件的大小与主窗体的大小和彼此的大小相关 我使用了anchor属性,但它没有像我预期的那样工作,我希望控制器在所有情况下都保持并排 正如您在下面的两幅图中所看到的,当我最大化窗口时,Datagridview和ListView之间存在一个间隙。我怎样才能解决这个问题 您需要将网格的锚点设置为 //control to the left, thi

我想用MicrosoftVisualStudio设计一个简单的表单,我有一个DataGridView和一个ListView。当我调整主窗体的大小时,我希望组件的大小与主窗体的大小和彼此的大小相关

我使用了anchor属性,但它没有像我预期的那样工作,我希望控制器在所有情况下都保持并排

正如您在下面的两幅图中所看到的,当我最大化窗口时,Datagridview和ListView之间存在一个间隙。我怎样才能解决这个问题



您需要将网格的锚点设置为

//control to the left, this will expand and take most space
listview.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Left | AnchorStyles.Right

//control to the right, this will keep it's size 
grid.Anchor = AnchorStyles.Top | AnchorStyles.Bottom | AnchorStyles.Right
现在如果你想让它们一直保持相同的尺寸;
添加一个
TableLayoutPanel
,其中两列设置为50%,然后将
listview
grid
添加到其中。(应锚定
TableLayoutPanel
,使其展开)

添加一个面板,将两个控件都放在其中。如果你不喜欢面板边框,就去掉它们。 锚定面板所有角落 选择一个控件并根据需要将其停靠样式设置为左或右,将另一个控件的停靠样式设置为填充

如果你想分一半,那么 将左控件的锚定设置为左,将右面板的锚定设置为右。(以及每个的顶部和底部

将调整大小事件处理程序添加到面板。
计算出两个控件的宽度并设置它们。

我尝试了这一个,但没有效果,当你为一个控制器设置所有Acnhor时,其中一个会变大,如果同时为两个控制器设置,它们的大小会变得奇怪。你能发布你如何拥有每个组件的锚吗?你希望它们都增长,就像一直保持50%的大小吗?如果我像你说的那样设置ListView填充空间并获得比网格更大的宽度。我在问题中说我不想要这种类型。@Am1rr3zA抱歉,我不清楚。请参阅编辑,您应该使用带有两列的
TableLayoutPanel
控件