已知:
form1 中:
Private Sub cmdStock_Click()
On Error GoTo aaaa
Dim Item As ListItem
Set Item = List1.SelectedItem
With frmToStock
.txtNum.Text = 100
.Show
End With
aaaa:
End Sub
当我在form2的Form_Load()中这样来输出txtNum.Text的值时,老是为空,为什么呢:
Private Sub Form_Load()
MsgBox (txtNum.Text)
end sub
form1 中:
Private Sub cmdStock_Click()
On Error GoTo aaaa
Dim Item As ListItem
Set Item = List1.SelectedItem
With frmToStock
.txtNum.Text = 100
.Show
End With
aaaa:
End Sub
当我在form2的Form_Load()中这样来输出txtNum.Text的值时,老是为空,为什么呢:
Private Sub Form_Load()
MsgBox (txtNum.Text)
end sub
代码中确又是什么frmToStock,还写了一堆没用的代码你要报出来,你就用个全局变量去传递不就行了。搞那么麻烦
在form1的listview的单击事件将中Item.SubItems(6)传递到FORM2中的MerchID:
Private Sub List1_DblClick()
With frmToStock
.MerchID.Text = Item.SubItems(6)
.Show
End With
End Sub
现在当我在form2的Form_Load()中这样来调用时,老是为空,为什么呢:
Private Sub Form_Load()
MsgBox (MerchID.Text)
end sub
上面是form1,form2
代码中确又是什么frmToStock,=====看来你还是读不懂得我这句话啊兄弟form2在你眼中就=frmtostock???omg
Private Sub Form_Activate()
MsgBox (MerchID.Text)
end sub
Private Sub List1_DblClick()
With frmToStock
.MerchID.Text = Item.SubItems(6)'你在這設信斷點,有沒有賦值成功
.Load '先Load
.Show 1
End With
End SubPrivate Sub Form_Load()
MsgBox (MerchID.Text)
end sub
form2就是frmtostock 我写错了,晕哦
End SubPrivate Sub Form_Load()
MerchID.Text=a
msgbox a
end sub
str = MerchID.Text
End Sub然后在FORM
Private Sub Form_Load()
MsgBox (str)
End Sub结果出来的还是空的
Public a As Stringform1Private Sub Command1_Click()
a = "123"
Form2.Show
End Subform2
Private Sub Form_Load()
Text1.Text = a
MsgBox Text1.Text
End Sub如果你再看不懂,偶就完全没话讲的说。。
按你的方法第一次点击List1一样没有输出,点第二次才有的,不信你测试^_^public a as stringPrivate Sub List1_DblClick() a = Item.SubItems(6)
End SubPrivate Sub Form_Load()
MerchID.Text=a
msgbox a
end sub
不要这么说好不好^_^
今天见鬼了啊,这样搞居然可以,
Private Sub List1_DblClick()
On Error GoTo aaaa
Dim Item As ListItem
Set Item = List1.SelectedItem
a= Item.SubItems(6)
With frmToStock
.Label11.caption = Item.SubItems(1)
.MerchID.Text = Item.SubItems(6)
.lbName.Tag = Item.Text
.txtNum.Text = 100
.txtDate.Text = Date
.Show
End With
aaaa:
End Sub这样搞可以,
Private Sub List1_DblClick()
On Error GoTo aaaa
Dim Item As ListItem
Set Item = List1.SelectedItem
With frmToStock
.Label11.caption = Item.SubItems(1)
.MerchID.Text = Item.SubItems(6)
.lbName.Tag = Item.Text
.txtNum.Text = 100
.txtDate.Text = Date
.Show
End Witha= Item.SubItems(6) '公共变量移到这里就不行了,我晕啊
aaaa:
End Sub
On Error GoTo aaaa
Dim Item As ListItem
Set Item = List1.SelectedItem
a= Item.SubItems(6) '公共变量放到这里完全可以在FORM2中调用
With frmToStock
.Label11.caption = Item.SubItems(1)
.MerchID.Text = Item.SubItems(6)
.lbName.Tag = Item.Text
.txtNum.Text = 100
.txtDate.Text = Date
.Show
End With'a= Item.SubItems(6) '公共变量放到这就出鬼了,必须在FORM1中点第二次值才在FORM2中传出来
aaaa:
End Sub
Private Sub cmdStock_Click()
On Error GoTo aaaa
Dim Item As ListItem
Set Item = List1.SelectedItem
With frmToStock
.txtNum.Text = 100 ‘你在这里放个断点就知道了,你在给form2里面的控件赋值得时候,
具体过程其实是你先调用了form2_load然后才给txtnum.text=100
已经启动了form2_load事件了。所以你在form2_load里面的msgbox显示的情况没有txtnum.text不是100。但这并不影响你form2显示的情况。你把那条msgbox去掉就好了
.Show
End With
aaaa:
End SubPrivate Sub Form_Load()
MsgBox (str) ‘就不要在这里要这个值了
End Sub
private mStrNumber as stringpublic sub SettxtNum(byval strNumber as string )
mStrNumber = strNumber
end subprivate sub form_load()
msgbox mStrNumber
end sub
'-----------------------------------------------
'FORM1
private sub command1_click()
form2.SettxtNum(txtnum.text)
end sub
'问题解决
private mStrNumber as stringpublic sub SettxtNum(byval strNumber as string )
mStrNumber = strNumber
end subprivate sub form_load()
msgbox mStrNumber
end sub
'-----------------------------------------------
'FORM1
private sub command1_click()
form2.SettxtNum(txtnum.text)
form2.show '刚才少写这一句
end sub
'问题解决
Private Sub Form_Load()
MsgBox (frmToStock.txtNum.Text)
end sub