Вы можете сделать это лучше с двумя представлениями сетки данных, добавить один и тот же источник данных, скрыть заголовки второго, установить высоту второго = для высоты строк первого, отключить все изменяемые атрибуты второго , синхронизируйте полосы прокрутки обоих, только горизонтальные, поместите вторую на нижнюю часть первой и т. д.
посмотрите:
dgv3.ColumnHeadersVisible = false;
dgv3.Height = dgv1.Rows[0].Height;
dgv3.Location = new Point(Xdgvx, this.dgv1.Height - dgv3.Height - SystemInformation.HorizontalScrollBarHeight);
dgv3.Width = dgv1.Width;
private void dgv1_Scroll(object sender, ScrollEventArgs e)
{
if (e.ScrollOrientation == ScrollOrientation.HorizontalScroll)
{
dgv3.HorizontalScrollingOffset = e.NewValue;
}
}