今回の電卓は、レイアウト設計のお復習いを兼ね、計算一発で加減乗除の結果が全て表示される電卓です。また、除算結果は切り上げ、切り捨て、四捨五入を選べるようにしました。
まず[TextBox]2つ、[Label]9つ、[Button]6つをレイアウトします。
最終的にそれぞれのパーツを上の用にリネイムします。[Label5]〜[Label8]はブランクです。なお、レイアウトにあたり、プロパティーでの必要最低限の機能を以下に整理しました。
[Label]は[配置>AutoSize]で[False]設定。パーツのサイズは[配置>Size]で調整。
パーツの背景色は[表示>BackColor]、パーツの枠設定は[表示>BackStyle]>
フォント指定は[Font]で、フォントサイズは[Font>Size]で調整。
パーツの表示文字は[Text]で、表示テキストの配置位置は[TextAlign]で調整。
デザインが完了したら[計算][C][↑][5/4][↓][AC]のボタンをそれぞれダブルクリックしてソースを記述します。
「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。なお、切り上げ、四捨五入、切り下げ処理は以下の様になります。
切り上げ表示は[Math.Ceiling]
TextBox1をTextBox2で除算した結果を切り上げ表示してLabel8に表示
Label8.Text = Math.Round(Val(TextBox1.Text) / Val(TextBox2.Text))
四捨五入表示は[Math.Round]
TextBox1をTextBox2で除算した結果を四捨五入表示してLabel8に表示
Label8.Text = Math.Round(Val(TextBox1.Text) / Val(TextBox2.Text))
切り下げ表示は[Math.Floor]
TextBox1をTextBox2で除算した結果を切り下げ表示してLabel8に表示
Label8.Text = Math.Floor(Val(TextBox1.Text) / Val(TextBox2.Text))
-----------------
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'[計算ボタン]で Label5には加算結果、 Label 6には減算結果、
' Label7には乗算結果、 Label8には除算結果を表示
Label5.Text = Val(TextBox1.Text) + Val(TextBox2.Text)
Label6.Text = Val(TextBox1.Text) - Val(TextBox2.Text)
Label7.Text = Val(TextBox1.Text) * Val(TextBox2.Text)
Label8.Text = Val(TextBox1.Text) / Val(TextBox2.Text)
End Sub
-----------------
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'[Cボタン]でTextBox1とTextBox2をクリア
TextBox1.ResetText()
TextBox2.ResetText()
End Sub
-----------------
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
'[ACボタン]でTextBox1とTextBox2、Label5〜Label8をクリア
Label5.ResetText()
Label6.ResetText()
Label7.ResetText()
Label8.ResetText()
TextBox1.ResetText()
TextBox2.ResetText()
End Sub
-----------------
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
' Label8の値を切り上げ表示
Label8.Text = Math.Ceiling(Val(TextBox1.Text) / Val(TextBox2.Text))
End Sub
-----------------
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
' Label8の値を四捨五入表示
Label8.Text = Math.Round(Val(TextBox1.Text) / Val(TextBox2.Text))
End Sub
-----------------
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
' Label8の値を切り下げ表示
Label8.Text = Math.Floor(Val(TextBox1.Text) / Val(TextBox2.Text))
End Sub
End Class
-----------------
Visual Studio Basic 2019