一个非常奇怪的问题:关于label控件.无法改变label.caption的值.

tyronelg 2003-02-09 11:15:02
一个非常奇怪的问题:关于label控件.无法改变label.caption的值.
比如我有两个窗体
form1 上有 command1 ,command2
form2 上有 label1 任何属性都不改,

我写这样一些简单的代码,

Private Sub Command1_Click()
Form2.Show 1 '显示窗体2
End Sub

Private Sub Command2_Click()
Form2.Label1.Caption = "12" 把窗体2上的label1.caption改成"12"
End Sub

按理说我先点击command2,Form2.Label1.Caption应该变成12了,点击command1,的确如此,
关掉form2,可是在点击command1,再次打开form2,这是Form2.Label1.Caption又变回默认值,也就是
label,这是怎么回事?难道据没有办法让Form2.Label1.Caption一直是12了吗?实在是奇怪,请大家告知.
...全文
146 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
goldfish9 2003-03-30
  • 打赏
  • 举报
回复
up
落伍者 2003-03-30
  • 打赏
  • 举报
回复
原因很简单,两次操作的不是同一个form2的实例。要想一样,可以设置一个全局变量

public strLableCaption as string

在form2中添加
sub form2_load()
form2.label1.caption=strLableCaption

end sub

form1的
sub Commad1_click ()
strLableCaption="ff"
form2.show
end sub
简易无忌 2003-03-30
  • 打赏
  • 举报
回复
你是不打算揭帖了?
简易无忌 2003-03-18
  • 打赏
  • 举报
回复
up
wu_yongcai 2003-03-18
  • 打赏
  • 举报
回复
up
简易无忌 2003-02-12
  • 打赏
  • 举报
回复
form2.show 1 时,如果form2未被加载,form2上的所有控件首先经过初始化。
您先点击command2时,相当于执行了以下3条语句:
form2.show
form2.label1="12"
form2.hide
form2已经被加载了,这时再点击command1时 form2.show 1 仅起到了form2.visible=True的作用,所以显示“12”。
根据具体情况有多种方法可实现您的要求,如不行请说明。
简易无忌 2003-02-12
  • 打赏
  • 举报
回复
form2.show 1 时,如果form2未被加载,form2上的所有控件首先经过初始化。
您先点击command2时form2已经被加载了,form2.show 1 仅起到了form2.visible=True的作用,所以显示“12”。
根据具体情况有多种方法可实现您的要求,如不行请说明。
nydelphi 2003-02-11
  • 打赏
  • 举报
回复
up
tyronelg 2003-02-10
  • 打赏
  • 举报
回复
难道据没有办法让Form2.Label1.Caption一直是12了吗?
IwantFlay 2003-02-10
  • 打赏
  • 举报
回复
up
kmcyz 2003-02-10
  • 打赏
  • 举报
回复
'Form2
Private Sub Form_Load()
Label1.Caption = "12" 把窗体2上的label1.caption改成"12"
End Sub
dsclub 2003-02-10
  • 打赏
  • 举报
回复
已经被你释放了
valleyecho 2003-02-10
  • 打赏
  • 举报
回复
在模组里定义一个全局变量保存lable的caption属性
litaoa 2003-02-10
  • 打赏
  • 举报
回复
在form2的Form2_Unload事件里加上一句me.hide就可以了吧!

不过要在form1的form2_Unload事件加一句unload form2 或是end
minajo21 2003-02-10
  • 打赏
  • 举报
回复
not unload form2
but hide form2
litsnake1 2003-02-10
  • 打赏
  • 举报
回复
up
饮水需思源 2003-02-10
  • 打赏
  • 举报
回复
Form2.Label1.Caption = "12" 把窗体2上的label1.caption改成"12"

这句后加一句:form2.label1.refresh
ehom 2003-02-10
  • 打赏
  • 举报
回复
属性面板中设置,Create事件中改变...
ehom 2003-02-09
  • 打赏
  • 举报
回复
关闭窗体改为隐藏窗体
dragon525 2003-02-09
  • 打赏
  • 举报
回复
你关掉了form2啊!!!,unload 也就是说从内存中释放了,
当再次加载时(打开窗体),当然会是初始的设置了,即Label.caption的值当然是初始的值拉。

7,763

社区成员

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

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