Ecrire en plusieurs Richtextbox-es

Messages postés
1
Date d'inscription
samedi 1 octobre 2016
Dernière intervention
2 octobre 2016
-
Bonjour,
J’essaie d’écrire un texte avec des butons affiché sur un touch screen monitor en quatre RichTextBox-es
Voilà le programme :

Public Class Form1
    Dim CasutaSelectata As RichTextBox
    Dim Afisaje() As RichTextBox = {RichTextBox1, RichTextBox2, RichTextBox3, RichTextBox4}
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        For i = 1 To 4

            Afisaje(i).Text = "0"
            Controls.Add(Afisaje(i))
            AddHandler Afisaje(i).GotFocus, AddressOf RichTextBox_onfocus
            AddHandler Afisaje(i).KeyPress, AddressOf RichTextBox_KeyPress
            If CasutaSelectata Is Nothing Then
                CasutaSelectata = Afisaje(i)
            End If

        Next
        Dim x = 0, y = 3
        For i = 0 To 11
            Dim button = New Button
            button.Text = i.ToString()
            button.Tag = i
            button.Width = 40
            button.Height = 40

            If i = 10 Then
                x = 0
                y = 3
                button.Text = "CL" '.ToString()
                button.Tag = i
                button.Left = 250
                button.Top = 50 + y * (button.Height + 10)

            Else
                button.Left = 200 + x * (button.Width + 10)
                button.Top = 50 + y * (button.Height + 10)

            End If
            AddHandler button.Click, AddressOf Digit_Click
            x = (x + 1) Mod 3
            If x = 0 Or y = 3 Then
                y -= 1
                x = 0
            End If

            Controls.Add(button)
        Next
    End Sub

    Private Sub Digit_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim digit = Convert.ToInt32(CType(sender, Button).Tag)
        Dim currentValue = Convert.ToInt32(IIf(String.IsNullOrWhiteSpace(CasutaSelectata.Text), "0", CasutaSelectata.Text))
        If digit = 10 Then
            currentValue = "0"

        Else
            currentValue = currentValue * 10 + digit
        End If
        If currentValue <= 100 Then
            CasutaSelectata.Text = currentValue '.ToString()
        End If
    End Sub
    Private Sub RichTextBox_onfocus(ByVal sender As Object, ByVal e As EventArgs)
        CasutaSelectata = CType(sender, RichTextBox)
    End Sub
    Private Sub RichTextBox_KeyPress(ByVal sender As Object, ByVal e As KeyPressEventArgs)
        If Not Char.IsDigit(e.KeyChar) And Not Char.IsControl(e.KeyChar) Then
            e.Handled = True
        End If
    End Sub
End Class
Afficher la suite 

Votre réponse

1 réponse

Messages postés
1725
Date d'inscription
samedi 11 janvier 2014
Dernière intervention
11 décembre 2018
0
Merci
bonjour
quel est le problème ?
c'est quoi un touch screen monitor ?
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi. 
Commenter la réponse de vb95

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.