2011-02-18 90 views
0

我试图在Visual Basic 2008中单击一个按钮时创建一个列表框。我似乎无法找到可以执行此操作的代码。 我发现非常相似的几个例子,说这会工作:如何在VB.net中(在运行时)创建一个ListBox?

Dim lstOutput As ListBox 

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

问题是,两者的括号里面的东西产生错误:

对于第一种:

Value of type 'String' cannot be converted to 'System.Windows.Forms.Control'.

,第二个:

Too many arguments to 'Public Overridable Sub Add(value As System.Windows.Forms.Control)'.

任何想法?

回答

0

试试这个

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

感谢您的快速回答,但是仍然会导致以下错误: 变量'lstOutput'在其被赋值之前使用。运行时可能会导致空引用异常。 – Brian 2011-02-18 03:16:52

0

您必须使用新的关键字如下:

昏暗lstOutput作为新的ListBox Me.Controls.Add(lstOutput)

1

这将添加一个空的目录表,页面中的最后一个控件:

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

你想要t他的:

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

注意添加了“新”关键字来实际创建您的控件。

0

每次按下按钮(假设代码在一个按钮下),列表框将被添加到左上角。如果每次你想添加一个新的列表框,它就会添加到另一个列表框中,并且你看不到新的列表框。如何在不指定坐标的情况下动态添加一个列表框到另一个列表框?