C# 是否根据datagridview中的总行数调整窗体高度?

C# 是否根据datagridview中的总行数调整窗体高度?,c#,.net,winforms,datagridview,C#,.net,Winforms,Datagridview,在这种情况下,在第一次插入后,添加了10行,我已经知道每行的高度是22。 所以rc=220 现在在设计师的开始,form1的尺寸是:648332 之前我手动检查过,648332适合行高度,但假设我在designer中更改了form1大小,并从648200开始,有5行或20行。所以我想计算所有行的高度,并将form1大小设置为适合所有行 导致每个用户在运行程序时同时运行其他数量的进程。因此,并非所有人都认为648、332是一个很好的form1尺寸。这可能会解决您的问题 void PopulateA

在这种情况下,在第一次插入后,添加了10行,我已经知道每行的高度是22。 所以rc=220

现在在设计师的开始,form1的尺寸是:648332 之前我手动检查过,648332适合行高度,但假设我在designer中更改了form1大小,并从648200开始,有5行或20行。所以我想计算所有行的高度,并将form1大小设置为适合所有行


导致每个用户在运行程序时同时运行其他数量的进程。因此,并非所有人都认为648、332是一个很好的form1尺寸。

这可能会解决您的问题

void PopulateApplications()
{
    dataGridView1.Rows.Clear();
    foreach (Process p in Process.GetProcesses())
    {
        if (p.MainWindowTitle.Length > 1)
        {
            var icon = Icon.ExtractAssociatedIcon(p.MainModule.FileName);
            ima = icon.ToBitmap();
            ima = resizeImage(ima, new Size(25, 25));
            ima.Save(@"c:\temp\ima.jpg");
            String status = p.Responding ? "Running" : "Not Responding";
            dataGridView1.Rows.Add(ima, p.ProcessName, status);
        }
    }
    int rc = dataGridView1.Rows.Count * ROW_SIZE;
}
void PopulateApplications()
{
    dataGridView1.Rows.Clear();
    foreach (Process p in Process.GetProcesses())
    {
        if (p.MainWindowTitle.Length > 1)
        {
            var icon = Icon.ExtractAssociatedIcon(p.MainModule.FileName);
            ima = icon.ToBitmap();
            ima = resizeImage(ima, new Size(25, 25));
            ima.Save(@"c:\temp\ima.jpg");
            String status = p.Responding ? "Running" : "Not Responding";
            dataGridView1.Rows.Add(ima, p.ProcessName, status);
        }
    }

    int totalRowSize = dataGridView1.Rows.Count * 22;
    int formHeight = this.Size.Height;

    if (totalRowSize > formHeight-30)
        this.Height = totalRowSize + 30;
}