vb的picture控件的卸载

woainiawoaini 2009-09-29 05:39:41
用vb的picture控件可以加载picture控件,例如
Set Picture1.Container = Picture3
这样就把Picture1加载到了Picture3上,那么怎么从Picture3卸载掉Picture1呢?
请各位朋友帮忙!谢谢!!
...全文
194 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗷嗷叫的老马 2009-09-30
  • 打赏
  • 举报
回复
.....帮顶.
woainiawoaini 2009-09-30
  • 打赏
  • 举报
回复
多谢各位朋友帮忙,虽然我还没试,可一看都很有道理!谢谢!!
chinaboyzyq 2009-09-29
  • 打赏
  • 举报
回复

Private Sub Command1_Click()
Dim x As Object, y As Object, z As Object
Set x = Picture1.Container '记录原容器
MsgBox x.Name

Set Picture1.Container = Picture3 '让picture3成为picture1的容器
Set y = Picture1.Container
MsgBox y.Name

Set Picture1.Container = x '还原到原容器
Set z = Picture1.Container
MsgBox z.Name

'另外说明一个概念:把picture1从容器picture3中拿走是一个概念,把picture1卸载是另外一个概念
' 设置时加载控件在运行时是无法卸载的,这个概念一定要知道。

End Sub

clear_zero 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用楼主 woainiawoaini 的回复:]
用vb的picture控件可以加载picture控件,例如
Set Picture1.Container = Picture3
这样就把Picture1加载到了Picture3上,那么怎么从Picture3卸载掉Picture1呢?
请各位朋友帮忙!谢谢!!
[/Quote]

你这样写并没有加载picture3,而是改变了picture1得容器
要想让picture1消失,那么就重新改变pictur1的容器就好了

你要加载那么就要用load和unload组合,如果你的picture1是你在设计的时候就托上届面的那么不能unload得
lyserver 2009-09-29
  • 打赏
  • 举报
回复
Set Picture1.Container = Picture3不是加载控件,而是指定或改变控件的容器。
只能当控件是由Load 控件数组或Controls.Add方式动态加载的控件,才能实现动态释放(当然,也能用代码实现设计时添加的控件,但很麻烦)。
因此,你的问题实际上是问如何改变控件所属的容器,或隐藏该控件,而不是卸载控件。
至于改变控件所属容器,答案跟Set Picture1.Container = Picture3一样,因为Form、PictureBox、Frame等都是可以作为容器的。
Flyingdragon168 2009-09-29
  • 打赏
  • 举报
回复
設計器上拖放的控件,是沒辦法卸载的。
只有通過Load加載的控件,才能使用UnLoad卸载。不知有沒有說錯。
贝隆 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 king06 的回复:]
做了一个试验,将Picture1还原到原来的容器就可以了
VB codeOptionExplicitPrivateSub Command1_Click()Set Picture1.Container= Picture3End SubPrivateSub Command2_Click()Set Picture1.Container= Form1End SubPrivateSub Form_Load()
Picture1.Picture=LoadPicture("E:\截图\1.JPG")End Sub
[/Quote]

学习
SYSSZ 2009-09-29
  • 打赏
  • 举报
回复
上面的代码并没真正移走,只是看不到了, Set Picture1.Container = Form1
是移走了,但Picture1没卸载掉.只是不再以Picture3
作容器了.
SYSSZ 2009-09-29
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Set Picture1.Container = Picture3
End Sub

Private Sub Command2_Click()
Picture1.Left = -1 * Picture1.Width
End Sub

king06 2009-09-29
  • 打赏
  • 举报
回复
做了一个试验,将Picture1还原到原来的容器就可以了
Option Explicit

Private Sub Command1_Click()
Set Picture1.Container = Picture3
End Sub

Private Sub Command2_Click()
Set Picture1.Container = Form1
End Sub

Private Sub Form_Load()
Picture1.Picture = LoadPicture("E:\截图\1.JPG")
End Sub

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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