質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
DataGrid

GUIの一種であり、データを表の形式でみることが可能です。

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

1回答

2380閲覧

DataGridView:縦スクロールの位置がグリットビュー内になってしまう

TEC_S

総合スコア79

DataGrid

GUIの一種であり、データを表の形式でみることが可能です。

スクロール

スクロールとは、ディスプレイスクリーン上において連続的にコンテンツが滑っていくことを指します。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2020/11/17 08:39

前提・実現したいこと

DataGridViewを利用してデータ閲覧ができるように進めています。
行にヘッダーを追加したく、初期化する段階で問題が起きました。
スクロールバーの位置調整に関して、色々と調べたのですが、情報が出てこなかった為、ご教授頂ければ幸いです。よろしくお願いいたします。

発生している問題

DataGridViewを初期化するのですが、グリット内に縦スクロールが表示されてしまう。
(スクロール自体は出来る)

イメージ説明

該当のソースコード

VBNET

1 'データグリッドビュー初期化( データ数 4 x 2(A/B) ) 2 For i As Integer = 1 To 4 3 Dim row As Integer = DG1.Rows.Add() 4 DG1.Rows(row).HeaderCell.Value = "No" + i.ToString() + "-A" 5 Next 6 For i As Integer = 1 To 4 7 Dim row As Integer = MesDispLeak.Rows.Add() 8 DG1.Rows(row).HeaderCell.Value = "No" + i.ToString() + "-B" 9 Next 10 DG1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill 11 DG1.RowHeadersWidth = 80 12 DG1.Refresh()

試したこと

1)内容を追加しない状態ではスクロールは発生しない(当たり前だが・・・切り分けとして)

2)スクロールの位置をリセット

VBNET

1 DG1.RowHeadersWidth = 80 2 DG1.ScrollBars = ScrollBars.None 3 DG1.ScrollBars = ScrollBars.Both 4 DG1.Refresh()

参考サイト:http://blog.livedoor.jp/nanoris/archives/51676448.html

補足情報(FW/ツールのバージョンなど)

OS:Windows10
開発環境:Visual Studio2017 / .Net4.0

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2020/11/17 08:48 編集

現在提示されているソースだけでは、正直何とも言えません。 可能であれば、新規にプロジェクトを作成して現象を再現可能な必要最小限のフォームのソースをそのまま質問に提示してください。
TEC_S

2020/11/17 09:43

ありがとうございます! 別プロジェクトにして問題なかった為、描写関係だと考え、SizeChangedへの辺りが付きました!!
guest

回答1

0

自己解決

フォームのSizeChangedにおいて、下記のコードを記載していたことが原因でした。

VBNET

1 2 Me.SuspendLayout() 3

投稿2020/11/17 09:43

TEC_S

総合スコア79

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問