首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >vb.net,创建引用另一个对象崩溃项目的对象。

vb.net,创建引用另一个对象崩溃项目的对象。
EN

Stack Overflow用户
提问于 2022-01-15 14:47:57
回答 1查看 34关注 0票数 1

我不明白为什么这不起作用,而这里的其他问题和答案并没有给我一个答案。

我有一个带有2个列表框的简单项目。一个名为lList,另一个命名为lListH。

以下工作如下:

代码语言:javascript
复制
function MyFunction (byval lList as listbox, byval lListH as listbox)
    lList.Items.Add("Visible list")
    lListH.Items.Add("Hidden List")

end Function

下面是我想要使用的,但是它不起作用:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-01-15 15:03:33

最有可能的解释是,ListBox不是直接在表单上,而是在其他容器中,例如Panel。这意味着它位于该容器的Controls集合中,而不是表单的集合中。您还可以调用表单的Find集合的Controls方法来搜索它及其子集合。注意,这将返回一个Control数组,因为在不同的容器中可能有多个名称相同的控件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70722468

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档