2 回答

TA貢獻1811條經(jīng)驗 獲得超6個贊
你的問題有兩個
1、
Command1_Click()和Command1_Click(index As Integer)是同一個事件,VB是事件型,要放棄過去代碼驅(qū)動的思維。你可以將這兩部分代碼合并,并且輔以條件或選擇性分支語句。
2、你在前五行的代碼中犯了一個錯誤
Private Sub Command1_Click()
Dim num1, num2 As Single 'num1,num2分別代表輸入的第一個數(shù)和第二個數(shù)
Dim strnum1, strnum2 As String 'strnum1,strnum2分別代表輸入的第一個數(shù)和第二個數(shù)的字符串形式
Dim firstnum As Boolean '判斷輸入是否是數(shù)字開頭
End Sub
你在這個事件中只是僅僅聲明了幾個變量,沒有其他任何語句,他們在本段“End Sub”語句執(zhí)行后就全部消亡了,因此沒有意義。我猜測你的本意是申明一些局部變量,因此這里你只要將第一行“Private Sub Command1_Click()”和第五行“End Sub”刪除就OK了。

TA貢獻1872條經(jīng)驗 獲得超4個贊
程序中出現(xiàn)了兩個 Private Sub Command1_Click
也就是說出現(xiàn)了兩個同名稱的子過程,這是不允許的,當(dāng)點擊按鈕后,你讓VB究竟執(zhí)行哪個子過程啊?就好比有人說“我爸是李剛”后,兩個人同時站起來說“我就是李剛”,這讓VB情何以堪啊,呵呵。
另外,你這個Command1究竟是單個按鈕,還是控件數(shù)組???看糊涂了
還有
Dim num1, num2 As Single
這樣的變量定義方法也是錯誤的,要改為
Dim num1 As Single, num2 As Single
Dim strnum1 As String, strnum2 As String
下面是完整的修改結(jié)果:
Dim num1 As Single, num2 As Single '此三行定義全局變量
Dim strnum1 As String, strnum2 As String
Dim firstnum As Boolean
Private Sub Form_Load()
num1 = 0
num2 = 0 '令num1和num2為0
strnum1 = ""
strnum2 = "" '令strnum1和strnum2為空字符串
firstnum = True '確定為數(shù)字開頭
End Sub
Private Sub Command1_Click(index As Integer)
Select Case index '用index作為判斷分支的條件
Case 0 To 9 '如果index是0到9
If firstnum Then '輸入為第一個數(shù)字的話
strnum1 = Str(index) '實型轉(zhuǎn)字符型
firstnum = False '初賦值標(biāo)志為假
Else '輸入不是第一個數(shù)字的話
strnum1 = strnum1 + Str(index) '將輸入的字符添加到原有字符串上
End If '結(jié)束if塊
Label1.Caption = strnum1 '顯示 '將字符串結(jié)果顯示到標(biāo)簽上《還有其他語句,等待插入》
End Select
End Sub
- 2 回答
- 0 關(guān)注
- 548 瀏覽
添加回答
舉報