C# 无法通过代码访问控件

C# 无法通过代码访问控件,c#,listview,tabcontrol,splitpanel,C#,Listview,Tabcontrol,Splitpanel,我当前正在尝试将项目添加到listview。问题是…它不是我正在处理的当前形式 目标项目位于: Form1 TabControl1 Tab2 SplitPanel1 Panel1 listMain 正在尝试从以下位置添加项目: Form1 TabControl1 Tab2 SplitPanel1 Panel2 UserControlForm 我确信这很容易,但我似乎不知道如

我当前正在尝试将项目添加到listview。问题是…它不是我正在处理的当前形式

目标项目位于:

Form1
  TabControl1
    Tab2
      SplitPanel1
        Panel1
          listMain
正在尝试从以下位置添加项目:

Form1
  TabControl1
    Tab2
      SplitPanel1
        Panel2
          UserControlForm
我确信这很容易,但我似乎不知道如何从代码中访问它


有人有什么建议吗?它都在同一个名称空间下…

这不是一个非常干净的方法,但可以做到。WinForms中的UI控件在默认情况下是私有的,因此从技术上讲,您可以打开designer.cs文件,找到该控件并将其公开。但是,我建议使用更好的设计,而不是这样做。

我确实尝试过在designer.cs文件中将private设置为public,但这似乎不起作用。这个语法应该是什么样的?您需要将对“listMain”的引用传递到您的UserControlForm中。UserControlForm是在设计时添加的还是在运行时添加的?表单是静态设计,我在应用程序加载过程中创建UserControlForm对象,以便在panel1的树状视图中选择时可以快速将它们加载到panel2中。