aki*_*kif 9 c# forms resize datagridview
我有一个Form和一个DataGridView.我在运行时填充DataGridView,所以我想知道如何根据DataGridView的大小动态调整Form的大小?有什么样的财产或方法吗?或者我是否必须自己确定尺寸并相应更新?
您可以通过计数列宽度找到实际宽度.
不要忘记您的表单可能更复杂,您应该计算其他控件.
public class YourForm : Form
{
public YourForm()
{
DataGridView _dgv = new DataGridView() { Dock = DockStyle.Fill};
Controls.Add(_dgv);
}
public void CorrectWindowSize()
{
int width = WinObjFunctions.CountGridWidth(_dgv);
ClientSize = new Size(width, ClientSize.Height);
}
DataGridView _dgv;
}
public static class WinObjFunctions
{
public static int CountGridWidth(DataGridView dgv)
{
int width = 0;
foreach (DataGridViewColumn column in dgv.Columns)
if (column.Visible == true)
width += column.Width;
return width += 20;
}
}
Run Code Online (Sandbox Code Playgroud)
通常,控件会根据包含窗体的大小调整其大小。要将表单的大小调整为 DataGridView 的大小,您必须自己确定大小,然后设置表单的大小以匹配,记住要考虑表单的菜单条和/或工具栏所需的额外大小,状态栏或其他控件。
在您的情况下,最好不要调整表单大小以匹配网格视图控件。最有可能的是,网格视图中的行数超出了 Windows 屏幕的容纳范围,并且您不希望窗体延伸到可视桌面区域下方。一般来说,这种情况正是您希望拥有可滚动网格视图的原因 - 用于查看一次屏幕无法容纳的更多数据。
| 归档时间: |
|
| 查看次数: |
33165 次 |
| 最近记录: |