トップ回答者
1行だけのDataGridViewに長いテキストを入力した場合の縦スクロールの方法

質問
回答
-
なんとか できるようになりました
下記のセルをDataGridViewのテンプレートにしました。
Public Class ScrollCell
Inherits DataGridViewTextBoxCellPublic Sub New()
End Sub
Public Overrides Sub InitializeEditingControl(ByVal rowIndex As Integer, _
ByVal initialFormattedValue As Object, _
ByVal dataGridViewCellStyle As DataGridViewCellStyle)MyBase.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle)
Dim ctl As TextBox = _
CType(DataGridView.EditingControl, TextBox)
ctl.ScrollBars = ScrollBars.Both
End SubEnd Class
すべての返信
-
DataGridView のスクロールバーはセルをスクロールするために提供されているので、セルの中身(コンテンツ)をスクロールするにはコンテンツ用のスクロールバーを別に用意してあげる必要があります。以下のページを参考に、スクロールバー付のテキストボックスを持つ独自のセルを作成して対応してみてください。
-
にょり さんからの引用 スクロールバー付のテキストボックスを持つ独自のセルを作成して対応してみてください。
にょりさん ありがとうございます
DataGridViewTextBoxCellのStyleで考えるという事でしょうか?
メンバーを探してみたのですが 見つかりませんでした
それとも DataGridViewTextBoxCellを継承したテンプレートにするためのユーザーコントロールのようなものを作るという事でしょうか
もし そうだとしたら どのあたりから入っていけばよいのでしょうか?
-
なんとか できるようになりました
下記のセルをDataGridViewのテンプレートにしました。
Public Class ScrollCell
Inherits DataGridViewTextBoxCellPublic Sub New()
End Sub
Public Overrides Sub InitializeEditingControl(ByVal rowIndex As Integer, _
ByVal initialFormattedValue As Object, _
ByVal dataGridViewCellStyle As DataGridViewCellStyle)MyBase.InitializeEditingControl(rowIndex, initialFormattedValue, dataGridViewCellStyle)
Dim ctl As TextBox = _
CType(DataGridView.EditingControl, TextBox)
ctl.ScrollBars = ScrollBars.Both
End SubEnd Class