我有一个DataGridView,我想把它放到GroupBox中。在VB6中它看起来像这样:
所以它只是一个由GroupBox包装的MsFlexGrid。我完全不知道如何在VB.NET中实现它。
我让它继承自DataGridView,因此它是一个Control,它默认拥有DataGridView的每个属性。
Public Class CaptionedDataGridView
Inherits DataGridView
还必须有一个GroupBox:
Private xGroupBox as GroupBox
文本属性将被组框的文本以及一些大小和位置属性(顶部,左侧,宽度,高度)覆盖
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来绘制自己。我如何从现在的位置到达我想要的位置?
答案 0 :(得分: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添加到它。