• 締切済み

VB電卓作成について

今、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

みんなの回答

  • don9don9
  • ベストアンサー率47% (299/624)
回答No.1

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

すると、全ての回答が全文表示されます。

専門家に質問してみよう