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

如何避免Panel内的UserControl重复创建,已存在则前置显示

解决方法

你只需要在创建新实例前,先检查Panel2中是否已经存在create_item类型的控件,逻辑如下:

  1. 遍历Panel2的控件集合,查找是否有create_item的实例
  2. 如果找到,直接将其前置显示
  3. 如果没找到,再创建新实例并添加到Panel2中

修改后的代码如下:

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    ' 查找Panel2中已存在的create_item实例
    Dim existingUc = Panel2.Controls.OfType(Of create_item)().FirstOrDefault()
    
    If existingUc IsNot Nothing Then
        ' 已存在,将其前置
        existingUc.BringToFront()
    Else
        ' 不存在,创建新实例并添加
        Dim newUc = New create_item()
        Panel2.Controls.Add(newUc)
        newUc.BringToFront()
    End If
End Sub

代码说明

  • OfType(Of create_item)():筛选出Panel2中所有create_item类型的控件
  • FirstOrDefault():获取第一个匹配的实例,如果没有则返回Nothing
  • 找到实例时调用BringToFront()确保它显示在最上层,未找到则新建并添加

内容的提问来源于stack exchange,提问作者RUSHI HARDWARE

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 06:32:10