如何在窗体调整大小时调整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开发中实现控件随窗体大小的改变而自动适应其改变

C# Winform 窗体设计 设计时 窗体大小不能调整

隐藏/禁用 DataGridView 列/行调整大小行

winforms:datagridview:高度(自动调整大小)取决于行数

DataGridview 列调整大小问题