在VB.Net中的datagridview上添加工具栏

时间:2013-08-16 02:26:56

标签: vb.net datagridview custom-controls toolbox

我创建了一个继承datagridview并添加一些自定义属性的自定义控件。我只是添加了一个停靠在它上面的工具栏控件,因此它可以具有添加行,删除行等功能,但它显示如下图所示:

enter image description here

你可以看到,列表头是在工具箱控件之下......我只是希望它们不要相互重叠......请帮忙。

修改

我只是插入一个像这样的自定义属性:

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

结束财产

2 个答案:

答案 0 :(得分:1)

此处的问题是,您的ToolstripDataGridView内的控件,因此其位置原点(0,0)位于DataGridView的左上角。< / p>

在这种情况下,您最好创建User Control,以便将Toolstrip放在DataGridView之上。您可以将它们作为属性公开,这样您仍然可以访问控件自己的属性和方法,并添加一个属性来打开或关闭Toolstrip的显示,并设置{{1}的位置适当地:

DataGridView

所有这一切都来自大脑编译器,因此可能存在错误,但它应该让你开始。

答案 1 :(得分:0)

使用拆分面板,然后将工具栏插入面板1,将datagridview插入面板2.