1

DataGridViewがあり、それをGroupBoxに入れたいと思います。VB6では、次のようになりました。

VB6のキャプション付きMsFlexGrid

つまり、これはGroupBoxでラップされたMsFlexGridにすぎません。それをVB.NETに実装する方法がまったくわかりません。

DataGridViewから継承させるので、これはコントロールであり、デフォルトでDataGridViewのすべてのプロパティがあります。

Public Class CaptionedDataGridView
    Inherits DataGridView

GroupBoxも必要です。

Private xGroupBox as GroupBox

textプロパティは、グループボックスのテキストと、いくつかのサイズおよび配置プロパティ(Top、Left、Width、Height)によってオーバーライドされます。

Public Overrides Property Text As String
  Get
    Return xGroupBox.Text
  End Get
  Set(ByVal value As Integer)
    xGroupBox.Text = value
  End Set
End Property

最後に、新しいCaptionedDataGridViewをどこかに作成する場合は、GroupBoxを囲んで描画する必要があります。今いる場所からなりたい場所に行くにはどうすればよいですか?

4

1 に答える 1

0

私はあなたがその逆をしなければならないと思います。GroupBoxから継承し、それにDataGridViewを追加します。

簡単な例:

Public Class MyGrid
  Inherits GroupBox

  Private _Grid As DataGridView

  Public Sub New()
    _Grid = New DataGridView()
    _Grid.Dock = DockStyle.Fill
    Me.Controls.Add(_Grid)
  End Sub

  ReadOnly Property Grid As DataGridView
    Get
      Return _Grid
    End Get
  End Property

End Class

もちろん、カスタムコントロールとしてこれを行う必要はありません。フォームにGroupBoxを配置し、同じDockStyle.Fillプロパティを使用してDataGridViewをフォームに追加するだけです。

于 2012-05-27T12:56:06.913 に答える