DataGridView の CurrentCell プロパティに任意のセルを指定することで、そのセルを表示領域に持ってくることができます。つまり、動的なスクロールを行うことができます。
実装コード
例えば、下記コードでは、 CurrentCell プロパティに 9 列 26 行目のセルを指定することで、表示領域外にあるセルを表示領域に持ってきます。特定列を先頭列に、特定行を先頭行にスクロールする制御とはなりませんが、エンドユーザーの最低限の利便性を確保する意味では、下記コードで対処できる局面もあると思います。
// DataGridView のデータバインドと、データの読み込みや描画が完了後に発生するイベント private void DataGridView1_DataBindingComplete(object? sender, DataGridViewBindingCompleteEventArgs e) { this.dataGridView1.CurrentCell = this.dataGridView1[8, 25]; }
実行結果
CurrentCell のセル位置に応じて、縦スクロール、横スクロールが行われていることが分かります。ただし、CurrentCell が先頭行・先頭列にはならず、表示領域に入るようなスクロール制御である点に注意ください。
サンプルアプリケーション
サンプルアプリケーションは、.NET 8 で作成されています。