我在VB里遇到这个问题,

来源:百度知道 编辑:UC知道 时间:2024/05/16 06:23:03
我设置一个变量A,让A纪录按下FORM1里BUTTON的次数,但是当我纪录一次后,转到FORM2里进行操作,当回到FORM1的时候再次按BUTTON,纪录还是一次,为什么?如何解决呢?
Private Sub Command1_Click()
TempCol = Form1.MSFlexGrid1.Col
TempRow = Form1.MSFlexGrid1.Row
TempString = Form1.MSFlexGrid1.TextMatrix(TempRow, 0)
TempInt = Form1.MSFlexGrid1.TextMatrix(TempRow, 1)

BuyCont = BuyCont + 1
If BuyCont >= 10 Then
BuyCont = 10
End If
With Form1.MSFlexGrid2
.TextMatrix(BuyCont, 0) = TempString
.Row = BuyCont
.Col = 0
.CellFontSize = 10
.CellAlignment = 4
.TextMatrix(BuyCont, 1) = TempInt
.Row = BuyCont
.Col = 1
.CellFontSize = 10
.CellAlignment = 4
End With
'Form1.Show
End Sub

Private Sub Command2_Click()
Unload Me
End Sub

Private Sub Form_Load()
BuyCont = 0
'Label2.Caption = Cash
'Label4.Caption = Form1.MSFlexGrid1.TextMatrix(TempRow, 0)
End Sub

buycont为全局变量,为什么只改变一次?

你的变量A是怎么定义的?是否定义为FORM1的全局变量?
我试验过没有问题,代码如下
Dim a As Integer
Private Sub Command1_Click()
a = a + 1
Print a
End Sub

Private Sub Command2_Click()
Form2.Show
End Sub

晕a就是每次+1啊,怎么可能不变

不是很明白你的意思,请你补充说明下...

问题没说清楚,FORM_LOAD是Form1还是Form2?若是Form2,则每次调用都会给buycont置0。