質問する際には 環境を説明してください。
どのような開発ツールで 画面に配置するコントロールの配置および名称など・・・・
質問者さまの質問は VB.NET 2005 のソースとして回答します。
以下は 実験済みです。
=========================<サンプル>=============================================
Private Sub DGV1_RowHeadersWidthChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGV1.RowHeadersWidthChanged
'データグリッド(Dg1)の左上隅にあるヘッダー セルの幅が変更された場合の処理
Call HScroll_width_set()
End Sub
Private Sub HScroll_width_set()
With HScrollBar1
Dim Wd As Integer = DGV1.TopLeftHeaderCell.Size.Width 'データグリッド(Dg1)の左上隅にあるヘッダー セルの幅
For I As Integer = 0 To DGV1.Columns.Count - 1
Wd += DGV1.Columns(I).Width
Next
'.Minimum = 0
'.Maximum = Wd
.Size = New Size(Wd, 0)
'↑例えばColumnが005まである場合でございます。
'おそらく「.Maximum」に何か入れるのでは、、と
'推測している次第でございますが。。。
End With
End Sub
End Class
=============================================================================================================================================
ソースを見てのとおり .Maximum の設定箇所が間違っており 正しくは .Size としてあげるだけです。
それと 「'データグリッド(Dg1)の左上隅にあるヘッダー セルの幅」が考慮されていませんので処理を追加しました。
以上が回答となります。
参考:
■フォームにスクロールバーをつける
http://dobon.net/vb/dotnet/form/autoscroll.html
お礼
NOBNNN様 度々のアドバイスどうもありがとうございましたm(_ _)m >これは基本的に無理です。 >データグリッドビュー(DGV1)の列単位での位置づけのメソッド >(DGV1.FirstDisplayedScrollingColumnIndex) しか用意されていません。 ↑これが分かったので更に助かりました.どうもありがとうございます. 列単位の移動でどうにか,見やすくなるように頑張ってみます. >もし、解決しているのであれば これで解決済みとしてください。 はい.前の「補足」にも書かせていただいておりますが, クローズさせていただければと思います. >ポイント付与を忘れずにお願いします。 はい.おひとり様20ptしか差し上げられないのが残念でございますが, もちろん付けさせていただきます^^ この度は誠にありがとうございました!!