我想在Winform中垂直放置两个DataGridViews(自动绑定)及其标签。所以它应该适合在区域内看起来很好。
它应按以下顺序显示: DataGridView Label1 DataGridView1 DataGridView Label2 DataGridView2
https://github.com/kikito/inspect.lua
它应该自动调整Scroll并最大化行为。我尝试过Panels和FlowLayoutPanel,但没有成功。我知道如何在WPF中使用相对布局,但不知道如何在winform中做。
答案 0 :(得分:2)
问题似乎主要是保持两个DGV的大小同步。
为此,您可以使用SplitContainer
,它会自动执行此操作:
Orientation = Orientation.Horizontal
IsSplitterFixed = true
FixedPanel
设为None
Anchors
,也可以设置为所有四个方面DataGridViews
放入两个SplitContainer.Panels
Dock=Fill
现在两个DGV将保持相同的大小,平均分配SplitContainer
大小,或者与原始比率保持精确。
如果您希望Labels
位于每个DGV上方,只需将它们放置到位,但Dock=Fill
的实例为DGV选择四个Anchors
。
如果您希望Buttons
保持在SplitContainer
简单Anchoring
之下,那么......
请注意,通过嵌套更多此类SplitContainers
,您可以保持三个或更多Controls
同步相同的大小。
答案 1 :(得分:0)
我使用TableLayoutPanel控件解决了这个问题。 创建了四行:
Row1:SizeType:绝对值:20
行2:的SizeType:自动调整大小
Row3:SizeType:绝对值:20 ROW4:的SizeType:自动调整大小
和 DatagridView1.AutoSize = true; DatagridView2.AutoSize = true;
tableLayoutPanel1.AutoScroll = TRUE;
现在,它根据DataGridViewRows的不同大小自动调整Scroll并最大化行为
感谢LarsTech和TaW以及其他人的支持!!