アプリ版:「スタンプのみでお礼する」機能のリリースについて

今、Visual Studio NETを用いて電卓を作ろうとしています。
いろいろ調べてやっているのですが、うまくいきません。
1+2はできるのですが、1+2+3が5になってしまいます。
どうすればいいのか、どなたか教えていただけませんか?
今のコードをキーの設定以外を記載しておきます。
お願いします。
================================================
Private Sub 数字キー(ByVal n As Integer)
If CL Then
R1 = 0
CL = False
End If
R1 = R1 * 10 + n
Textreg.Text = R1
End Sub

Private Sub 演算キー(ByVal o As Integer)
Op = o
R2 = R1
CL = True
End Sub
Private Sub 計算()
Select Case Op
Case 1
R1 = R2 + R1
Case 2
R1 = R2 - R1
Case 3
R1 = R2 * R1
Case 4
R1 = R2 \ R1
End Select
Textreg.Text = R1
End Sub

Private Sub keyEQ_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles keyEQ.Click
計算()
End Sub

Private Sub keyCL_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles keyCL.Click
Textreg.Text = "0"
R1 = 0
R2 = 0
Op = 0
CL = True
End Sub

Private Sub Form電卓_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Textreg.Text = 0
R1 = 0
R2 = 0
Op = 0
CL = True
End Sub
End Class

A 回答 (1件)

電卓で実際に「1+2+3=」と打ってみた場合


「1+2+」まで打った時点で画面は「3」になりますよね。
二度目の「+」を押した時点で「1+2」が計算されるわけです。
質問文のソースだと「=」を押したときにしか
計算が行われていないようです。
「+」「-」「×」「÷」を押したときにも
計算が行われるように修正してみてください。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!