2

我制作了一个包含面板的用户控件,我想添加另一个我制作的控件。所有这一切我都希望以编程方式实现。

实际上,我想创建一个日历、相当大的列和单元格。

我想将我的单元格添加到我的列中。然后将我的列添加到我的日历对象。

这是我为此刻创建的代码..

创建列:

Private Sub CreateColumns()
    For i = 0 To Calendar.GetUpperBound(0)
        ASFColumns(i) = New ASFcolumn
        With ASFColumns(i)
            .Width = 252
            .Visible = True
            .Left = 250 * i + i + 2
            .Top = 35
        End With
        Me.Controls.Add(ASFColumns(i))
        'AddHandler Calendar(i, j).Click, AddressOf ClickOnCells
    Next
End Sub

将我的细胞添加到它

For i = 0 To Calendar.GetUpperBound(0)
        For j = 0 To Calendar.GetUpperBound(1)
            Calendar(i, j) = New ASFmultiTaskCell
            With Calendar(i, j)
                .Width = 250
                .Visible = True
                .Left = 250 * j + j + 2
                .Top = 33 * i + i + 70
                .BringToFront()
            End With
            'Me.Controls.Add(Calendar(i, j)) 
            ASFColumns(i).Controls.Add(Calendar(i, j))
            AddHandler Calendar(i, j).Click, AddressOf ClickOnCells
        Next
    Next

谢谢

4

1 回答 1

0

我不太确定您要做什么,所以我假设了一些事情。我将日历创建为 ASFmultiTaskCell 的二维数组,它是一个用户控件。以下代码成功地将用户控件添加到表单或面板/组框。该活动也有效。

Dim Calendar(2, 3) As ASFmultiTaskCell

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        For i = 0 To Calendar.GetUpperBound(0)
            For j = 0 To Calendar.GetUpperBound(1)
                Calendar(i, j) = New ASFmultiTaskCell
                With Calendar(i, j)
                    .Width = 250
                    .Visible = True
                    .Left = 250 * j + j + 2
                    .Top = 33 * i + i + 70
                    .BringToFront()
                End With

                Me.Controls.Add(Calendar(i, j))
                GroupBox1.Controls.Add(Calendar(i, j))

                AddHandler Calendar(i, j).Click, AddressOf ClickOnCells
            Next
        Next
    End Sub

    Private Sub ClickOnCells()

    End Sub
于 2013-11-11T13:11:00.410 回答