2011-02-18 70 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

每次按下按鈕(假設代碼在一個按鈕下),列表框將被添加到左上角。如果每次你想添加一個新的列表框,它就會添加到另一個列表框中,並且你看不到新的列表框。如何在不指定座標的情況下動態添加一個列表框到另一個列表框?

相關問題