重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
比方说当前form1上有三个控件, 都是textbox,在读取它们的值的时候,可以通过访问容器的Control属性来得到该容器中的所有控件。最后加入的的控件变成了集合中的第一个元素(下标为0)。
创新互联技术团队10多年来致力于为客户提供成都网站制作、成都网站建设、高端网站设计、全网整合营销推广、搜索引擎SEO优化等服务。经过多年发展,公司拥有经验丰富的技术团队,先后服务、推广了超过千家网站,包括各类中小企业、企事单位、高校等机构单位。
Me.Controls.Item(0).Text = "集合中的第1个元素"
Me.Controls.Item(1).Text = "集合中的第2个元素"
Me.Controls.Item(2).Text = "集合中的第3个元素"
这样可以给以上三个控件的 text属性赋值。同样,如果我们在form1中有个Panel、GroupBox,并且控件是存在于控件中,也可以通过me.panel1.controls.item(?).?的方式对控件进行操作。
如图所示黑色矩形为窗体边线;
L1是控件1的左边离开窗体左边界的距离;
T1是控件1的上边离开窗体上边界的距离;
W1是控件1的宽度;
H1是控件1的高度;
L2是控件2的左边离开窗体左边界的距离;
T2是控件2的上边离开窗体上边界的距离;
W2是控件2的宽度;
H2是控件2的高度;
如果把边界相切也算作重叠,根据数学知识可以找出不重叠的数学关系;
一,水平情况不重叠;
1,控件1在控件2的左边
有:L1 + W1 L2
2,控件2在控件1的左边
有:L2 + W2 L1
二,垂直情况不重叠;
3,控件1在控件2的上边
有:T1 + H1 T2
4,控件2在控件1的上边
有:T2 + H2 T1
以上四种情况只要有一个成立,两个控件就不重叠;反之就重叠,代码的逻辑关系如下;
If (L1 + W1 L2) Or (L2 + W2 L1) Or (T1 + H1 T2) Or (T2 + H2 T1) Then
MsgBox("不重叠!")
Else
MsgBox("重叠!")
End If
Dim c As Control
For Each c In Me.Controls
Debug.WriteLine(c.Name ":" TypeName(c))
Next