日曜日, 8月 16, 2020

Visual Studio Basic_05 
簡易電卓とリセット設定

今回は加減乗除のボタンとリセット(クリア)ボタンを付けた簡易電卓を作成してみます。

VS Basicを起動したら[新しいプロジェクトの作成]にて新規プログラム作成モードに入ります。最初にTextBox2つ、Button5つ、Label1つを配置します。

ここで、いつものように一番面倒なLableのフレームをプロパティーパレットの[配置>AutoSize]にて[Auto]から[False]に変更します。

続けてフォントのサイズをプロパティーパレットの[Font>Size]にて[9]から[24]に変更し[TextAligin]をTopLeftからMiddleRightに変更します。

次にTextBoxのフォントサイズをプロパティーパレットの[Font>Size]にて[9]から[24]に変更します。

最後は加減乗除とリセット(クリア)ボタンの表記を図のように設定しフォントサイズをプロパティーパレットの[Font>Size]にて[9]から[24]に変更し[TextAligin]をTopLeftからMiddleCenterに変更します。

ちなみに、Label1のTextは[Label1]からnul(ヌル)、つまり無しに変更します。また、Label1は[表示>BorderStyle]にて[FixedSingle]設定して枠を表示させます。

あとはそれぞれのボタンを1つずつダブルクリックしてソースを入力するだけです。

「-----------------」は区切り線なので記述の必要はありません。
青字は自動入力部分で修正の必要はありません。
黒字が入力部分です。
赤字はコメント文なので記述の必要はありません。

-----------------
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        の行に記述します。それ以外は一切変更しません。
    End Sub
-----------------
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       の行に記述します。それ以外は一切変更しません。
    End Sub
-----------------
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       の行に記述します。それ以外は一切変更しません。
    End Sub
-----------------
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        の行に記述します。それ以外は一切変更しません。
    End Sub
-----------------
    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        この行に記述します。それ以外は一切変更しません。
    End Sub
End Class
-----------------

流れとしては、TextBox1と2に入力した数値を数値変換してButtonの指示(加減乗除)に従い、結果をLabel1に表示する。もしButton5が押されたらLabel1の表示をクリアする。となります。

Label1.Text = Val(TextBox1.Text) + Val(TextBox2.Text) ' 加算の場合
Label1.Text = Val(TextBox1.Text) - Val(TextBox2.Text) ' 減算の場合
Label1.Text = Val(TextBox1.Text) * Val(TextBox2.Text) ' 乗算の場合
Label1.Text = Val(TextBox1.Text) / Val(TextBox2.Text) ' 除算の場合

クリア処理は
Label1.ResetText() ' Label1の表示をクリア
TextBox1.ResetText() ' TextBox1の表示をクリア

-----------------
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Label1.Text = Val(TextBox1.Text) + Val(TextBox2.Text)
    End Sub
-----------------
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Label1.Text = Val(TextBox1.Text) - Val(TextBox2.Text)
    End Sub
-----------------
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Label1.Text = Val(TextBox1.Text) * Val(TextBox2.Text)
    End Sub
-----------------
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Label1.Text = Val(TextBox1.Text) / Val(TextBox2.Text)
    End Sub
-----------------
    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        Label1.ResetText()
    End Sub
End Class
 -----------------
これで一応は完成なのですが、TextBox1と2の値を全てリセット(クリア)するAll Clearボタンを追加することにしました。

任意のButtonをコピーペーストして[AC]ボタンを作成し、レイアウトを整えます。

[AC]ボタンをダブルクリックしてソースを以下の様に記述します。
-----------------
     Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        この行に記述します。それ以外は一切変更しません。
        この行に記述します。それ以外は一切変更しません。
        この行に記述します。それ以外は一切変更しません。
    End Sub
-----------------
流れとして、ソースはLabel1、TxetBox1、2をクリアするので、以下の記述が必要となります。

Label1.ResetText()
TextBox1.ResetText()
TextBox2.ResetText()
-----------------
    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        Label1.ResetText()
        TextBox1.ResetText()
        TextBox2.ResetText()
    End Sub
-----------------

デバッグして問題がなければ完成です。なお、パレット左上の[Form1]を[mini calculator ver1.0]と変更するために以下のソースも追加しています。

-----------------
  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Me.Text = "mini calculator ver1.0"
    End Sub    
-----------------

最終的に完成時のソースは以下の様になりました。
-----------------
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Label1.Text = Val(TextBox1.Text) + Val(TextBox2.Text)
    End Sub
-----------------
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Label1.Text = Val(TextBox1.Text) - Val(TextBox2.Text)
    End Sub
-----------------
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Label1.Text = Val(TextBox1.Text) * Val(TextBox2.Text)
    End Sub
-----------------
    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Label1.Text = Val(TextBox1.Text) / Val(TextBox2.Text)
    End Sub
-----------------
    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        Label1.ResetText()
    End Sub
-----------------
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        Label1.ResetText()
        TextBox1.ResetText()
        TextBox2.ResetText()
    End Sub
End Class
-----------------

Visual Studio Basic 2019