如何在窗体调整大小时调整datagridview控件的大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在窗体调整大小时调整datagridview控件的大小相关的知识,希望对你有一定的参考价值。
当孩子控件调整大小时,我发现了很多关于如何调整表单大小的问题,但我正在尝试做一些更简单的事情(也许这么简单的人甚至不会问它:|)
我想自动调整datagridview的宽度以填充表单的宽度。简单地将datagridview放在窗体上后,在调整窗体大小时,网格保持相同的大小。即使我使用将控件连接到表单边框的小恒定距离快照事件,也会发生这种情况。
我是否必须处理某些类型的form.resize事件,或者是否可以在VS中设置属性?
使用控制锚定。将Anchor
的属性GridView
设置为Top, Left, Right
,它将使用容器调整大小。如果你的GridView
放在一些容器(前Panel
)内,那么Panel
也应该锚定。
您必须在Dock属性中选择“填充”。
将布局中datagridview的“Dock”属性设置为以下属性之一:top,left,bottom,right。好?
设置DataGridView的属性:
Anchor: Top,Left
AutoSizeColumn: Fill
Dock: Fill
将控件的anchor属性设置为挂钩到父级的所有边 - 顶部,底部,左侧和右侧。
你有两个选择:
- 选项一,锚点
- 选项二,Dock
寻找两种属性,找出适合您需求的属性。
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
任何容器都存在'Anchor'属性:表单,面板,组框等。
您可以选择1侧,例如左侧或最多四侧。
锚定意味着即使在调整大小时,所选侧面与容器边缘之间的距离也将保持不变。
例如,数据网格视图dgv1
位于Form1
的中间。你的'锚'是dgv1的左侧和顶侧。当应用程序运行并调整大小时,无论是从不同的屏幕分辨率还是更改表单大小,dgv1
的顶部和左侧将相应地改变以保持它们与From1
边缘的距离。底部和右侧不会。
在表单构造函数中,您可以创建一个这样的事件处理程序:
this.SizeChanged(frm_sizeChanged);
然后创建一个适当调整网格大小的事件处理程序,例如:
private void frm_sizeChanged(object sender, EventArgs e)
{
dataGrid.Size = new Size(100, 200);
}
用你喜欢的任何东西取代这些数字。
如果要显示完整的标题文本
这将自动调整列的大小,以便标题显示完整的标题文本。
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
对于Dock模式
如果要在面板或表单中显示停靠模式。
dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;
除非我误解了您的要求,否则您可以在数据网格视图的属性上执行此操作。您需要将Anchor属性设置为要锁定的边。
对我来说,锚定只有在我将其设置为四个方面时才有效:
锚定:顶部,底部,左侧,右侧
将锚定设置为Left,Bottom在底部左侧调整窗体大小时移动整个对象。在调整父级的大小时,设置所有四种大小确实会调整对象的大小。
以上是关于如何在窗体调整大小时调整datagridview控件的大小的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 窗体中调整列表控件的添加/删除大小以提供类似锚定的行为
WinForm开发中实现控件随窗体大小的改变而自动适应其改变