首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb有关问题紧急求解决

2012-02-02 
vb问题紧急,求解决部分程序如下:Private Sub Form_KeyPress(KeyAscii As Integer)Dim i, j As IntegerFor

vb问题紧急,求解决
部分程序如下:
Private Sub Form_KeyPress(KeyAscii As Integer)
Dim i, j As Integer
For i = 0 To Label1.Count - 1
If Label1.Item(i).Caption = Chr(KeyAscii) Then
  Image1.Visible = True
  Image1.Top = Label1.Item(i).Top
  Image1.Left = Label1.Item(i).Left - 300
  Label1.Item(i).Top = -500
  If shezhi.sOption1.Value Then
  If shezhi.nOption1.Value Then H = H + 1
  ElseIf shezhi.nOption2.Value Then H = H + 2
  ElseIf shezhi.nOption3.Value Then H = H + 3
  End If
  If shezhi.sOption2.Value Then
  If shezhi.nOption1.Value Then H = H + 2
  ElseIf shezhi.nOption2.Value Then H = H + 3
  ElseIf shezhi.nOption3.Value Then H = H + 4
  End If
  If shezhi.sOption3.Value Then
  If shezhi.nOption1.Value Then
  H = H + 3
  ElseIf shezhi.nOption2.Value Then
  H = H + 4
  ElseIf shezhi.nOption3.Value Then
  H = H + 5
  End If
 
  Label2.Caption = "得分:" & H
  Randomize
  If shezhi.nOption1.Value Then
  j = Int((122 - 97 + 1) * Rnd + 97)
  ElseIf shezhi.nOption2.Value Then
  j = Int((90 - 65 + 1) * Rnd + 65)
  ElseIf shezhi.nOption3.Value Then
  j = Int((126 - 48 + 1) * Rnd + 48)
  End If
  Label1.Item(i).Caption = "" & Chr(j) & ""
End If
If Label1.Item(i).Top > 6250 Then
 If MsgBox("此次游戏结束,重来吗?", vbYesNo, "游戏结束") = vbYes Then
  MsgBox "您现在的得分是:" & H & "分", vbOKOnly, "成绩"
  Unload Me
  shezhi.Visible = True
  Exit Sub
 End If

Next i
End Sub
纠结了很久,老说我NEXT没有for,实在想不出

[解决办法]

VB code
Private Sub Form_KeyPress(KeyAscii As Integer)Dim i, j As IntegerFor i = 0 To Label1.Count - 1    If Label1.Item(i).Caption = Chr(KeyAscii) Then        Image1.Visible = True        Image1.Top = Label1.Item(i).Top        Image1.Left = Label1.Item(i).Left - 300        Label1.Item(i).Top = -500        If shezhi.sOption1.Value Then            If shezhi.nOption1.Value Then H = H + 1            ElseIf shezhi.nOption2.Value Then H = H + 2            ElseIf shezhi.nOption3.Value Then H = H + 3        End If        If shezhi.sOption2.Value Then            If shezhi.nOption1.Value Then H = H + 2            ElseIf shezhi.nOption2.Value Then H = H + 3            ElseIf shezhi.nOption3.Value Then H = H + 4        End If        If shezhi.sOption3.Value Then            If shezhi.nOption1.Value Then                H = H + 3            ElseIf shezhi.nOption2.Value Then                H = H + 4            ElseIf shezhi.nOption3.Value Then                H = H + 5            End If            Label2.Caption = "得分:" & H            Randomize            If shezhi.nOption1.Value Then                j = Int((122 - 97 + 1) * Rnd + 97)            ElseIf shezhi.nOption2.Value Then                j = Int((90 - 65 + 1) * Rnd + 65)            ElseIf shezhi.nOption3.Value Then                j = Int((126 - 48 + 1) * Rnd + 48)            End If            Label1.Item(i).Caption = "" & Chr(j) & ""        End If        If Label1.Item(i).Top > 6250 Then            If MsgBox("此次游戏结束,重来吗?", vbYesNo, "游戏结束") = vbYes Then                MsgBox "您现在的得分是:" & H & "分", vbOKOnly, "成绩"                Unload Me                shezhi.Visible = True                Exit Sub            End If        End If    End IfNextEnd Sub你写少了多少个End If呀?代码应该要缩进,否则就会出现你这种情况。 

热点排行