Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Public Class MainForm
- ' Facilitazioni per accedere ai valori inseriti nel form
- ' accede alla casella di testo del primo operando
- Property First As Single
- Get
- Dim r As Single = txtFirst.Text
- Return r
- End Get
- Set(value As Single)
- txtFirst.Text = value
- End Set
- End Property
- ' accede alla casella di testo del secondo operando
- Property Second As Single
- Get
- Dim r As Single = CSng(txtSecond.Text)
- Return r
- End Get
- Set(value As Single)
- txtSecond.Text = value
- End Set
- End Property
- ' accede alla combo box delle operazioni
- Property Operation As String
- Get
- Return cbOperation.SelectedItem
- End Get
- Set(value As String)
- cbOperation.SelectedItem = "+"
- End Set
- End Property
- ' costruttore
- Public Sub New()
- ' La chiamata è richiesta dalla finestra di progettazione.
- InitializeComponent()
- ' Aggiungere le eventuali istruzioni di inizializzazione dopo la chiamata a InitializeComponent().
- ' inizializza il form
- First = 0
- Second = 0
- Operation = "+"
- ' PORTA IL MOUSE SUL PRIMO OPERANDO
- txtFirst.Focus()
- End Sub
- ' Intercetta i caratteri inseriti nelle caselle di testo
- ' e accetta solo cifre e una sola occorrenza della virgola
- Private Sub AcceptOnlyNumbers(sender As Object, e As KeyPressEventArgs) Handles txtSecond.KeyPress, txtFirst.KeyPress
- ' controlla se il carattere digitato è un carattere di
- ' controllo (frecce, cancellazione ecc)
- If Not Char.IsControl(e.KeyChar) Then
- Dim t As TextBox = sender ' accede alla casella di testo
- Dim text As String = t.Text ' recupera il testo inserito
- ' recupera la virgola decimale in uso nel sistema
- Dim comma As String = Threading.Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator
- 'controlla se è già presente una virgola decimale
- Dim acceptDot = text.IndexOf(comma) = -1
- ' se l'utente ha premuto sul punto
- ' o sull'eventuale simbolo della virgola usato
- If e.KeyChar = "." OrElse e.KeyChar = comma Then
- If Not acceptDot Then ' se non è accettabile
- ' SCARTA L'EVENTO
- ' comunicando che non si deve fare più nulla
- ' perché l'evento è da considerarsi GESTITO
- e.Handled = True
- Else
- ' altrimenti mette la virgola
- e.KeyChar = comma
- End If
- ' qui controlla che si tratti invece di una cifra
- ElseIf Not Char.IsDigit(e.KeyChar) Then
- e.Handled = True
- End If
- End If
- End Sub
- ' seleziona il contenuto della casella di testo quando l'utente entra in essa
- ' con il tasto tabulazione o con il mouse
- Private Sub UserEnterInBox(sender As Object, e As EventArgs) Handles txtSecond.Enter, txtFirst.Enter, txtSecond.Click, txtFirst.Click
- Dim t As TextBox = sender
- t.SelectAll()
- End Sub
- ' effettua il calcolo e produce il risultato
- Private Sub btnCalc_Click(sender As Object, e As EventArgs) Handles btnCalc.Click
- Dim result As Single = First
- Select Case Operation
- Case "+"
- result += Second
- Case "-"
- result -= Second
- Case "*"
- result *= Second
- Case "/"
- result /= Second
- End Select
- lblResult.Text = result
- End Sub
- End Class
Add Comment
Please, Sign In to add comment