如何在动态创建的容器中,再动态添加控件?

rero 2008-03-26 07:58:25
我动态创建了一个容器newPanel,接着又动态创建了一个按钮控件newbutton,然后我用newPanel.Controls.Add(newbutton)想把这个按钮放到newPanel中,但运行的结果是,我能看到newPanel,但看不到newbutton。如果我把newbutton的location调整到newpanel的范围外,是可以看到这个按钮是成功创建了的。
特想请问各位,怎样才能在动态创建的容器中再动态添加其他的控件?谢谢!
我的代码(部分省略)如下:
Dim newPanel As New Panel
newPanel.Name = "Test_Panel"
newPanel.Location = New Point(controlLocation.X + 200, controlLocation.Y)
newPanel.Size = New Size(240, 243)
newPanel.BackColor = Color.AntiqueWhite
Controls.Add(newPanel)

Dim newButton As New Button
newButton.Name = "btn" + controlCount.ToString()
newButton.Text = "btn" + controlCount.ToString()
newButton.Location = New Point(controlLocation.X + 250, controlLocation.Y)
newPanel.Controls.Add(newButton)
...全文
51 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
水如烟 2008-03-27
point是相对所在容器的位置.
panel相对form,button相对panel.

你可以使用new point(0,0)测试一下
  • 打赏
  • 举报
回复
rero 2008-03-27
非常感谢lzmtw! 问题解决了!
  • 打赏
  • 举报
回复
rero 2008-03-27
非常感谢lzmtw! 问题解决了!
  • 打赏
  • 举报
回复
hc8112_boy 2008-03-26
你的语句没有问题

Panel充当了Button的容器,按照New Size(240, 243)
下面的X,Y不应大于 240,243减控件本身
newButton.Location = New Point(controlLocation.X + 250, controlLocation.Y)
  • 打赏
  • 举报
回复
发帖
VB

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
帖子事件
创建了帖子
2008-03-26 07:58
社区公告
暂无公告