动态加入控件时,为什么后添加的控件Index值小而先添加的值更大呢?

billow_chentao 2009-06-12 03:31:21
dim xpage as new TabPage()
dim xcon as myControl
xcon=new Mycontrol
xPage.Controls.Add(xCon)

用以上方法在页面里添加了控件后发现 后加的控件Index值最小,通常我们往一个集合里加东西都是先加入的index小后加的值大。为什么这里会是这样呢?会不会有什么巧门?
...全文
36 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hanjs 2009-06-13
  • 打赏
  • 举报
回复
学习.
古今多少事 2009-06-12
  • 打赏
  • 举报
回复
学习!
billow_chentao 2009-06-12
  • 打赏
  • 举报
回复
懂了:
我是因为我每个控件添加后用了一句BringToFront所以Index小了。
控件的层次是按Index值确定的,值小就放在上层,值大就放在下层。

当我们用鼠标在窗体上创建一个控件时 后创建的index值就是最小值0
wzuomin 2009-06-12
  • 打赏
  • 举报
回复
用以下代码测试了下,没发现后加的Index值小啊

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim tab As New TabPage With {.Text = "test"}
For i As Integer = 0 To 5
Dim btn As New Button With {.Text = "Button" + i.ToString}
btn.Top = btn.Height * i + 10
tab.Controls.Add(btn)
Next

For Each Button As Button In tab.Controls
MsgBox(Button.Text + " " + tab.Controls.IndexOf(Button).ToString)
Next
End Sub

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧