We were able to reproduce this problem in a sample. It seems that the panel does not realize that it was moved and when you click on the scrollbar it incorrectly sends a MouseDown message to the grid.
The following code works around this problem in the sample
Point saveLocation = Point.Empty;
protected override void WndProc(ref Message m)
{
if (saveLocation.IsEmpty || saveLocation != this.panel1.DisplayRectangle.Location)
{
if (!saveLocation.IsEmpty)
{
this.panel2.Refresh();
}
saveLocation = this.panel1.DisplayRectangle.Location;
}
Console.WriteLine(this.panel1.DisplayRectangle);
base.WndProc (ref m);
}
Here is this sample modified to avoid this problem.
GDBG_Panel_2460.zip