アクアさんのところの電卓祭りに参加します。
一発芸電卓です。名前は似非電卓っぽく、てきとーに付けてます。
こんな感じ。
コンセプト(やりたかったこと)は以下の二つです。
- 仕様はシンプルに(その分、使い方は複雑になってます)
- 変数は使わない(画像に表示されているデータがすべて)
ClickOnce版を ここ に貼り付けておきます。
使い方。
- 表示されているボタンのどちらかを押します。押さなかった方はその時点で確定となります。
- ボタンを選択すると色が変わります。これは選択中を示しています。好きな数字もしくは演算子が出るまで連打します。
- もう一方のボタンを押すと確定です。押された方のボタンが選択中になります。
- えー、まあやってみてください。
下手な説明よりソースコードを読んだ方が早いですね。載せておきます。
Public Class Calcanea
Private Sub Calcanea_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ResultDisplay.Text = "0"
Me.NumberButton.Text = "1"
Me.OperationButton.Text = "+"
End Sub
Private Sub NumberButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumberButton.Click
If (Me.NumberButton.BackColor = SystemColors.Control) Then
' 演算子確定
Select Case Me.OperationButton.Text
Case "C"
' 初期化
Calcanea_Load(sender, e)
End Select
' 数値選択モードへ
Me.NumberButton.BackColor = Color.Aqua
Me.OperationButton.BackColor = SystemColors.Control
Else
' 数値選択中
Me.NumberButton.Text = CType(Integer.Parse(Me.NumberButton.Text) + 1, String)
End If
End Sub
Private Sub OperationButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OperationButton.Click
If (Me.OperationButton.BackColor = SystemColors.Control) Then
' 数値確定→計算
Select Case Me.OperationButton.Text
Case "+"
Me.ResultDisplay.Text = CType(Integer.Parse(Me.ResultDisplay.Text) + Integer.Parse(Me.NumberButton.Text), String)
Case "-"
Me.ResultDisplay.Text = CType(Integer.Parse(Me.ResultDisplay.Text) - Integer.Parse(Me.NumberButton.Text), String)
Case "×"
Me.ResultDisplay.Text = CType(Integer.Parse(Me.ResultDisplay.Text) * Integer.Parse(Me.NumberButton.Text), String)
Case "÷"
Me.ResultDisplay.Text = CType(Integer.Parse(Me.ResultDisplay.Text) \ Integer.Parse(Me.NumberButton.Text), String)
End Select
' 演算子選択モードへ
Me.OperationButton.BackColor = Color.Aqua
Me.NumberButton.BackColor = SystemColors.Control
Me.NumberButton.Text = "1"
Else
' 演算子選択中
Select Case Me.OperationButton.Text
Case "+"
Me.OperationButton.Text = "-"
Case "-"
Me.OperationButton.Text = "×"
Case "×"
Me.OperationButton.Text = "÷"
Case "÷"
Me.OperationButton.Text = "C"
Case "C"
Me.OperationButton.Text = "+"
End Select
End If
End Sub
End Class
ということで、まずはエントリとさせてください。