Vb.net 创建带有标题的DataGridView(嵌入到GroupBox中)
我有一个DataGridView,我想把它放到一个GroupBox中。在VB6中,它如下所示: 因此,它只是一个由GroupBox包装的MsFlexGrid。我完全不知道如何在VB.NET中实现它 我让它从DataGridView继承,所以它是一个控件,默认情况下它拥有DataGridView的所有属性Vb.net 创建带有标题的DataGridView(嵌入到GroupBox中),vb.net,datagridview,vb6-migration,Vb.net,Datagridview,Vb6 Migration,我有一个DataGridView,我想把它放到一个GroupBox中。在VB6中,它如下所示: 因此,它只是一个由GroupBox包装的MsFlexGrid。我完全不知道如何在VB.NET中实现它 我让它从DataGridView继承,所以它是一个控件,默认情况下它拥有DataGridView的所有属性 Public Class CaptionedDataGridView Inherits DataGridView 还必须有一个GroupBox: Private xGroupBox
Public Class CaptionedDataGridView
Inherits DataGridView
还必须有一个GroupBox:
Private xGroupBox as GroupBox
文本属性将被组框的文本以及一些大小和放置属性(顶部、左侧、宽度和高度)覆盖
最后,如果我要在某个地方创建一个新的CaptionedTagRidView,它应该使用GroupBox来绘制自己。我怎样才能从现在的我到我想去的地方?我想你必须反过来做。从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添加到表单中。我也考虑过这个问题。我认为从DataGridView rahter继承比从GroupBox继承更好,因为这样更符合逻辑。因为我使用了DataGridView中的很多属性,只使用了文本框的Text、Left、Top、Width和Height属性。当然,这是解决我问题的有效方法。
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