如何在VB.net中动态创建列表框(在运行时)?

时间:2011-02-18 03:03:52

标签: vb.net winforms listbox

我正在尝试在Visual Basic 2008中单击按钮时创建一个列表框。我似乎无法找到可以执行此操作的代码。 我发现了一些非常相似的例子,并表示这样可行:

Dim lstOutput As ListBox

lstOutput = Me.Controls.Add("VB.Label", "List1")

问题是括号内的两件事都会产生错误:

第一个:

  

“String”类型的值无法转换为“System.Windows.Forms.Control”。

第二个:

  

'Public Overridable Sub Add(value As System.Windows.Forms.Control)'的参数太多。

有什么想法吗?

5 个答案:

答案 0 :(得分:1)

这将添加一个空的列表框作为页面中的最后一个控件:

Dim lstOutput As New ListBox With { .Id = "List1" }
Page.Controls.Add(lstOutput)

答案 1 :(得分:0)

试试这个

Dim lstOutput As new ListBox()
Me.Controls.Add(lstOutput)

答案 2 :(得分:0)

你必须使用这样的新关键字:

Dim lstOutput As New ListBox Me.Controls.Add(lstOutput)

答案 3 :(得分:0)

你想要这个:

Dim lstOutput As New ListBox()
Me.Controls.Add(lstOutut)

请注意添加“新”关键字以实际创建控件。

答案 4 :(得分:0)

每次按下按钮(假设代码位于a按钮下),列表框将添加到左上角。如果每次要添加新的列表框时,它都会添加到另一个列表框中,并且您无法看到新的列表框。如何在不指定坐标的情况下动态添加一个列表框?