以编程方式向容器添加控件

时间:2013-11-09 05:09:21

标签: vb.net visual-studio-2012 user-controls

我创建了一个包含面板的用户控件,我想添加另一个控件。所有这些我希望它以编程方式实现。

Actualy我想创建一个Calandar,相当大的柱子和细胞。

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

这是我为妈妈创建的代码..

创建列:

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

谢谢

1 个答案:

答案 0 :(得分:0)

我不太确定你要做什么,所以我假设了一些事情。我创建了Calendar作为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