动态控件数组在不同过程中的问题

[复制链接]
查看11 | 回复3 | 2021-1-27 05:48:43 | 显示全部楼层 |阅读模式
1.定义了共用变量数组为Panel型。
2.调入窗体后,首先通过过程“选项卡添加控件(1)”,动态地向TabControl中的TabPage1中添加了控件数组实例Panel(1)
3.接下来想通过一个过程选项卡设置(1)来调整相关控件的大小、位置等属性。这个“Call选项卡设置(1)”过程也会在窗体大小调整时再次调用。
问题:
调用Call选项卡设置(1),设置Panel(1)时,出现错误,提示该控件不存在。
尝试:改变Panel的边缘属性,让其在程序运行时可见,则建立的Panel控件存在,但试图设置属性时,系统报错。
如果在第二个过程中新建实例,则旧Panel存在,设置属性时,仅对新建的有效。
请高手解疑!多谢!
PS.本人是医生,想写这个VB小程序来处理下工作中的事情,对电脑只是业余爱好,请解疑时多费些笔墨!多谢!
附代码:
PublicClassfrm_Main
'公用变量定义
Publicctr_Panel(3)AsPanel
'
PrivateSubForm1_Load(senderAsObject,eAsEventArgs)HandlesMyBase.Load
'在选项卡添加控件
Call选项卡添加控件(1)
'设置选项卡
Call选项卡设置(1)
EndSub
Sub选项卡设置(intIAsInteger)
'面板设置
Withctr_Panel(intI)
.Width=Me.tp_Today.Width-10
.Height=Me.tp_Today.Height-35
EndWith
EndSub
Sub选项卡添加控件(intIAsInteger)
'添加面板
ctr_Panel(intI)=NewPanel
Me.Controls.Add(ctr_Panel(intI))
Withctr_Panel(intI)
.BorderStyle=BorderStyle.FixedSingle
.AutoScroll=True
.Top=30
.Left=3
EndWith
EndSub
EndClass

分 -->
回复

使用道具 举报

千问 | 2021-1-27 05:48:43 | 显示全部楼层
没有人回答,自己顶一下!
回复

使用道具 举报

千问 | 2021-1-27 05:48:43 | 显示全部楼层
哪里错了?
报什么错?
Me.Controls.Add(ctr_Panel(intI))
新建Panel明明是添加到窗体上的,哪里和TabPage1发生关系了?
回复

使用道具 举报

千问 | 2021-1-27 05:48:43 | 显示全部楼层
经过无数次的百度后,终于搞明白了
添加一句If控件变量IsNothingThen就可以了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行