da du deine Frage als ASP.Net getaggt hast, gehe ich mal davon aus das es sich um eine Website handelt und das benutzen des Resize-Events etwas schwieriger wird als bei einer Windows Anwendung. (Wobei ich da eher zu SplitContainer + Panel.Dock = Client raten würde)
Ein paar allgemeine Tipps von mir:
1) Je mehr Daten du in deinem Grid lädst, desto länger lädt auch die Seite. Bei richtig vielen Daten dauert das unter umständen zu lange - Der durchschnitts Internetbenutzer (mich eingeschlosse) verliert nach ca. 3 Sekunden die Geduld. Tipp: Reduziere die Datenmenge die geladen wird und ermögliche dem Benutzer das weiterblättern mit einem Pager.
2) Mit ein wenig CSS kannst du die Datengrids dazu bringen ihren content zu Scrollen. Im gerenderten HTML sind Datengrids nichts anderes als HTML-Tabellen. In diesem JsFiddle findest du ein Beispiel was du sicherlich für dich verwenden kannst.
Um das Beispiel für dich zu übertragen: Die Div-Elemente in dem Beispiel sind die Panel in deinem ASP.Net. Ich habe die css Klasse "scrollpanel" auf sie angewandt. Im Asp.Net Designer heißt das Panel-Attribut CssClass.
Der link ist Falsch. Panel ist ein WebControl und Basis Klasse von WebControl ist nicht Forms.Control sondern Web.Ui.Control. http://msdn.microsoft.com/de-de/library/system.web.ui.control(v=vs.80).aspx