You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET中如何将Windows窗体数据传递至用户控件?

解决Windows窗体向用户控件UC_REQUEST传递数据的问题

看起来你现在的代码核心问题是:你新建了UC_REQUEST的实例nform,但这个实例没有被添加到窗体的控件集合里,所以你往它的ListView2里加的内容根本看不到。我给你分两种常见场景来讲解正确的实现方式:

场景1:用户控件已经在窗体上(设计时拖拽添加)

如果你已经在窗体设计界面把UC_REQUEST拖进去了(比如给它命名为ucRequest1),那直接操作这个已存在的实例就行,不用新建:

' 直接用窗体上已有的UC_REQUEST实例ucRequest1
Dim lv As ListViewItem = ucRequest1.ListView2.Items.Add(cbBranch.Text)
lv.SubItems.Add(lbParticular.Text)
lv.SubItems.Add(lbID.Text)
lv.SubItems.Add(txtAmount.Text)
lv.SubItems.Add(txtRemarks.Text)
lv.SubItems.Add(txtCredit.Text)

这样添加的内容就会显示在窗体上的用户控件里了。

场景2:需要动态创建用户控件

如果你是要在运行时动态生成UC_REQUEST,那必须把新建的实例添加到窗体的某个容器(比如Panel、GroupBox)或者直接添加到窗体的控件集合中,否则它只是内存里的对象,不会显示:

' 新建用户控件实例
Dim nform = New UC_REQUEST
' 设置控件的布局(比如填充整个Panel1)
nform.Dock = DockStyle.Fill
' 把控件添加到窗体的容器里(这里用Panel1举例)
Me.Panel1.Controls.Add(nform)
' 现在再添加ListView项
Dim lv As ListViewItem = nform.ListView2.Items.Add(cbBranch.Text)
lv.SubItems.Add(lbParticular.Text)
lv.SubItems.Add(lbID.Text)
lv.SubItems.Add(txtAmount.Text)
lv.SubItems.Add(txtRemarks.Text)
lv.SubItems.Add(txtCredit.Text)

更规范的封装写法(推荐)

为了降低窗体和用户控件的耦合,最好在UC_REQUEST内部封装一个添加数据的方法,而不是让窗体直接操作控件的ListView。

在UC_REQUEST的代码里添加这个方法:

Public Sub AddRequestItem(branch As String, particular As String, id As String, amount As String, remarks As String, credit As String)
    Dim lv As ListViewItem = Me.ListView2.Items.Add(branch)
    lv.SubItems.Add(particular)
    lv.SubItems.Add(id)
    lv.SubItems.Add(amount)
    lv.SubItems.Add(remarks)
    lv.SubItems.Add(credit)
End Sub

然后在窗体里直接调用这个方法就行:

  • 场景1(已有实例):
ucRequest1.AddRequestItem(cbBranch.Text, lbParticular.Text, lbID.Text, txtAmount.Text, txtRemarks.Text, txtCredit.Text)
  • 场景2(动态创建):
Dim nform = New UC_REQUEST
nform.Dock = DockStyle.Fill
Me.Panel1.Controls.Add(nform)
nform.AddRequestItem(cbBranch.Text, lbParticular.Text, lbID.Text, txtAmount.Text, txtRemarks.Text, txtCredit.Text)

这种写法的好处是,以后如果用户控件里的ListView结构变化,只需要修改控件内部的方法,不用改窗体的代码,更易维护。

内容的提问来源于stack exchange,提问作者DIANA ROSE ARNAIZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 08:20:38