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

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)
...全文
66 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
水如烟 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)

16,721

社区成员

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

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