我正在处理这种情况。如您所知,在WPF
中,您可以将控件设置为自动大小(宽度或高度),因此当您执行此操作时,控件不会显示为垂直滚动条。< / p>
我想在Windows窗体中的一个DataGridView
中使用相同的行为,这个控件有很多行,我想知道控件表达它的实际大小而没有垂直滚动条。我该怎么做这个功能?
到目前为止,DataGridView
具有固定大小(600px)
答案 0 :(得分:1)
假设您的初始高度已设置为滚动条不可见,添加这些事件处理程序将允许在添加或删除行时缩放高度:
private void dataGridView_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
int height = 0;
for (int i = e.RowIndex; i < (e.RowIndex + e.RowCount); i++)
height += dataGridView.Rows[i].Height;
dataGridView.Height += height;
}
private void dataGridView_RowsRemoved(object sender, DataGridViewRowsAddedEventArgs e)
{
int height = 0;
for (int i = e.RowIndex; i < (e.RowIndex + e.RowCount); i++)
height += dataGridView.Rows[i].Height;
dataGridView.Height -= height;
}
作为附注,我建议不在您的程序中使用此功能。自动调整列表框大小通常是一个糟糕的UI设计选择。你想用这个控件做什么?可能有一种更有效的方法可以做你想做的事情。
答案 1 :(得分:0)
尝试设置其Dock
属性。假设它被调用如下:
dataGridView1.Dock = DockStyle.Left;
显然,网格仍将显示滚动条,但其高度将适应其容器。