我创建了一个继承datagridview并添加一些自定义属性的自定义控件。我只是添加了一个停靠在它上面的工具栏控件,因此它可以具有添加行,删除行等功能,但它显示如下图所示:
你可以看到,列表头是在工具箱控件之下......我只是希望它们不要相互重叠......请帮忙。
修改
我只是插入一个像这样的自定义属性:
Dim _Toolbox_ As Toolstrip
Dim _ShowToolbar As Boolean
Public Property ShowToolbar() As Boolean
Get
Return _ShowToolbar
End Get
Set(ByVal value As Boolean)
_ShowToolbar = value
If value = True Then
_Toolbox_ = New Toolstrip
MyBase.Controls.Add(_Toolbox_)
_Toolbox_.Dock = Windows.Forms.DockStyle.Top
_Toolbox_.Visible = True
Else
MyBase.Controls.Remove(_Toolbox_)
_Toolbox_ = Nothing
End If
End Set
结束财产
答案 0 :(得分:1)
此处的问题是,您的Toolstrip
是DataGridView
内的控件,因此其位置原点(0,0)位于DataGridView
的左上角。< / p>
在这种情况下,您最好创建User Control,以便将Toolstrip
放在DataGridView
之上。您可以将它们作为属性公开,这样您仍然可以访问控件自己的属性和方法,并添加一个属性来打开或关闭Toolstrip
的显示,并设置{{1}的位置适当地:
DataGridView
所有这一切都来自大脑编译器,因此可能存在错误,但它应该让你开始。
答案 1 :(得分:0)
使用拆分面板,然后将工具栏插入面板1,将datagridview插入面板2.