【发布时间】:2018-08-08 05:45:18
【问题描述】:
我有一个 datagridviews 和两个自定义滚动条 - 一个垂直滚动条和一个水平滚动条。
我在填充 datagridview 时调整滚动条的大小
scrollBarEx1.Maximum = dataGridView1.RowCount;
scrollBarEx3.Maximum = dataGridView1.ColumnCount;
这是 datagridview1 的滚动事件
private void dataGridView1_Scroll(object sender, ScrollEventArgs e)
{
if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
{
scrollBarEx1.Value = e.NewValue;
}
else if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
{
scrollBarEx3.Value = e.NewValue;
}
}
下面是两个滚动条的滚动事件代码
private void scrollBarEx1_Scroll(object sender, ScrollEventArgs e)
{
dataGridView1.Rows[dataGridView1.FirstDisplayedScrollingRowIndex].Height = e.NewValue;
}
private void scrollBarEx3_Scroll(object sender, ScrollEventArgs e)
{
dataGridView1.Columns[dataGridView1.FirstDisplayedScrollingColumnIndex].Width = e.NewValue;
}
但是只有垂直滚动有效。水平滚动确实滚动,但网格不会随之滚动。请帮忙。
【问题讨论】:
-
两个滚动条的 LargeChange 和 SmallChange 的值是多少?
-
LargeChange = 10和SmallChange = 1用于两个滚动条。
标签: c# winforms custom-controls