我不知道為什么這不起作用,這里的其他問題和答案并沒有讓我找到答案。
我有一個帶有 2 個串列框的簡單專案。一個命名為 lList,另一個命名為 lListH。
以下作品:
function MyFunction (byval lList as listbox, byval lListH as listbox)
lList.Items.Add("Visible list")
lListH.Items.Add("Hidden List")
end Function
而下面是我想使用的,但它不起作用:
function MyFunction (byval lList as listbox)
Dim sControlName = lList.Name & "H"
Debug.Print(sControlName) 'Outputs lListH as expected
Dim lListH As ListBox = CType(Me.Controls(sControlName), ListBox)
lList.Items.Add("Visible list")
lListH.Items.Add("Hidden List") 'error on this line: System.NullReferenceException, 0x80004003
end Function
uj5u.com熱心網友回復:
最可能的解釋是ListBox不是直接在表單上,??而是在其他容器中,例如 a Panel。這意味著它在該Controls容器的集合中,而不是在表單的集合中。您還可以呼叫Find表單Controls集合的方法來搜索它及其子項。請注意,這將回傳一個Control陣列,因為在不同的容器中可能有多個具有相同名稱的控制元件。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/415372.html
標籤:
