Q&A
DataGridViewの各セルにスクロールバーを表示したい
Microsoft Visual Basic 2015 (.NetFrameWork4.0)でWindowsフォームアプリケ-ションを作っています。
DataGridView(複数行・複数列)の各セルに、改行を含む文字列を表示していています。
表示する文字列の長さによらず、DataGridViewのセルの高さを同じにそろえて、
表示する文字列がセルに収まらない場合は、各セルにスクロールバーを表示したいと考えています。
そこで、下記のようにDataGridViewのセルに対してDataGridViewTextBoxCellのクラスを設定し、
vb.net
1Dim dgvcolumn As DataGridViewTextBoxColumn = New DataGridViewTextBoxColumn() 2dgvcolumn.CellTemplate = New DGVScrollableMultiLineCell()
設定したDataGridViewTextBoxCellでスクロールバーを表示させようとしました。
vb.net
1 2Public Class DGVScrollableMultiLineCell 3Inherits System.Windows.Forms.DataGridViewTextBoxCell 4 5Public Overrides Sub PositionEditingControl( ...) 6MyBase.PositionEditingControl(....) 7 8CType(Me.DataGridView.EditingControl, DataGridViewTextBoxEditingControl).ScrollBars = ScrollBars.Vertical
しかし、この方法では、DataGridViewで表示されたセルがマウスクリックで選択された場合に、スクロールバーが表示されます。
これは、PositionEditingControlのためだと考えておりますが、他の方法を見つけることができませんでした。
意図している「DataGridViewで表示された時に、各セルにスクロールバーを表示」したいのですが、
方法をご存知の方がおられましたら、ご教示いただけますと幸いです。
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。
2018/07/13 08:37
2018/07/17 03:55
2018/07/17 08:40 編集