low*_*key 37 c# resize datagridview winforms
当孩子控件调整大小时,我发现了很多关于如何调整表单大小的问题,但我正在尝试做一些更简单的事情(也许这么简单的人甚至不会问它:|)
我想自动调整datagridview的宽度以填充表单的宽度.简单地将datagridview放在表单上后,在调整表单大小时,网格保持相同的大小.即使我使用将控件连接到表单边框的小恒定距离快照事件,也会发生这种情况.
我是否必须处理某些类型的form.resize事件,或者是否可以在VS中设置属性?
Sam*_*ich 46
使用控制锚定.设置属性Anchor您的GridView到Top, Left, Right,它会与容器调整.如果您GridView被放置在某个容器(ex Panel)内,那么也Panel应该固定.
小智 22
设置DataGridView的属性:
Anchor: Top,Left
AutoSizeColumn: Fill
Dock: Fill
Run Code Online (Sandbox Code Playgroud)
小智 6
'Anchor' 属性适用于任何容器:表单、面板、组框等。
您可以选择 1 边(例如左侧)或最多所有四边。
锚点意味着所选边与容器边缘之间的距离将保持不变,即使在调整大小时也是如此。
例如,一个 datagridviewdgv1位于 的中间Form1。您的“锚定”在 dgv1 的左侧和顶部。当应用程序运行并调整大小时,无论是从不同的屏幕分辨率还是更改表单大小, 的顶部和左侧dgv1都会相应地发生变化以保持它们与From1. 底部和右侧不会。
小智 6
如果要显示完整的标题文本
这将自动调整列的大小,以便标题将显示完整的标题文本。
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
Run Code Online (Sandbox Code Playgroud)
对于 Dock 模式
如果要在面板或表单中显示停靠模式。
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
Run Code Online (Sandbox Code Playgroud)
你有两个选择:
寻找两种属性,找出适合您需求的属性.
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.anchor.aspx
和
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.dock.aspx