这是我添加行的代码:
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);
}
}
}
结果如下:
我希望列和行下面的灰色区域不显示列/行。 也许我需要调整form1和dataGridView1的大小?并在每次添加新行时调整其大小。
我应该如何处理这个灰色区域?
答案 0 :(得分:0)
你试过了吗?
dataGridView1.AutoSizeRowsMode =DataGridViewAutoSizeRowsMode.AllCells;
但请注意,此代码段会根据行数更改行的行高,以适应网格的高度。我不知道你是否想要这样的行为。
为了获得预期的结果,您可以每次计算每一行的高度:
int height = 0;
foreach (DataGridViewRow row in dataGridView1.Rows) {
height += row.Height;
}
height += dataGridView1.ColumnHeadersHeight;
然后设置:
dataGridView1.Height=height;
但是,我不得不承认我没有测试过这个......
编辑:
void PopulateApplications()
{
dataGridView1.Rows.Clear();
dataGridView1.Height=0;
dataGridView1.Height += dataGridView1.ColumnHeadersHeight;
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);
dataGridView1.Height+=22;
}
}
}