动态UserControl未显示-flowlayoutpanel

时间:2018-08-28 09:23:32

标签: vb.net

我拥有一系列项目,并为每个项目创建了一个自定义用户控件的新实例。问题在于创建控件并将其添加到Flowlayoutpanel时,它没有显示。

代码

Sub createList()
    Dim len_ids As Integer = account_ids.Length - 1
    Dim x As Integer = 1

    While x <= len_ids
        Dim listItem As New wrapperItems()

        listItem.txtName.Text = account_names(x)
        listItem.picIcon.BackgroundImage = Image.FromFile(account_icons(x))
        listItem.lblPath.Text = account_paths(x)
        listItem.Tag = "listItem" & x
        listItem.Top = 10 * x
        listItem.Left = 10
        Me.flowWrapper1.Controls.Add(listItem)
        listItem.Show() ' tried this
        listItem.Visible = True 'tried this
        listItem.BringToFront() ' tried this
        x += 1
    End While
    Me.Refresh()
End Sub

有人知道为什么它不起作用吗?

1 个答案:

答案 0 :(得分:0)

似乎在Form.Show而不是Form.Load上启动后台工作程序时,代码不起作用。 为了解决此问题,我在Form.Load()中添加了背景工作程序。

更好的方法是最终添加一个刷新列表按钮,然后加载后台工作程序。