Visual Studio 2019 C# Evento KeyPress.

di il
6 risposte

Visual Studio 2019 C# Evento KeyPress.

Gent.mi,

ho 15 TextBox in un Form e con l'evento KeyPress ed il tasto Invio avanzo da una TextBox all'altro con il seguente codice:

private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.KeyChar == (char)Keys.Enter)
{
if (TextBox1.Text.Length == 0)
{TextBox2.Focus();
}
}

gradirei gentilmente inserire anche l'evento che accetta solo lettere e non numeri

Ho usato il seguente codice con esito negativo:
if (System.Text.RegularExpressions.Regex.IsMatch(TextBox1.Text, @"^[a-zA-Z]+$") == false)
{
MessageBox.Show("Inserire nella TextBox solo le lettere");
}
TextBox2.Focus();
Gentilmente se potete suggerire come modificare il codice.
Anticipatamente ringrazio e fiducioso, saluto.
Domenico.

6 Risposte

  • Re: Visual Studio 2019 C# Evento KeyPress.

    Pacifico437 ha scritto:


    Ho usato il seguente codice con esito negativo [...]
    Ovvero, qual l'esito negativo?
    Cosa ti aspetti e non succede?

    Pacifico437 ha scritto:


    Gentilmente se potete suggerire come modificare il codice.
    Per risolvere quale problema in particolare?

    Se non si ha cura di specificare tutti i dettagli che servono per comprendere, è sempre ben difficile fornire soluzioni.

    Ciao!
  • Re: Visual Studio 2019 C# Evento KeyPress.

    Tanto per cominciare questa non è la sezione per il C#... hai letto?
  • Re: Visual Studio 2019 C# Evento KeyPress.

    L'ho spostato nella sezione corretta
  • Re: Visual Studio 2019 C# Evento KeyPress.

    Gent.mo Alka,

    ringrazio della tempestività e gentilezza.
    Lo scopo che gradirei raggiungere è che se non inserisco nulla nella TextBox1 con il tasto invio deve andare nella TextBox2.
    Se inserisco numeri anzichè lettere non deve avanzare si deve bloccare con un MSGBOX da inserire lettere e non numeri.
    Per Oregon mi scuso per l'errore colpa della fretta se gentilmente puoi spostare alla sua sezione.

    Anticipatamente ringrazio e rinnovo le scuse, fiducioso di un gradito riscontro, saluto.
    Domenico.
  • Re: Visual Studio 2019 C# Evento KeyPress.

    Ci ha pensato il moderatore ma tu potresti usare i tag code per il codice, non sei nuovo del forum né di altri forum
  • Re: Visual Studio 2019 C# Evento KeyPress.

    Pacifico437 ha scritto:


    Lo scopo che gradirei raggiungere è che se non inserisco nulla nella TextBox1 con il tasto invio deve andare nella TextBox2.
    Se inserisco numeri anzichè lettere non deve avanzare si deve bloccare con un MSGBOX da inserire lettere e non numeri.
    Quello che non era chiaro era cosa non funzionava del codice che hai scritto rispetto all'obiettivo.

    Ad ogni modo, prova a vedere la soluzione presa da questa fonte e che riporto di seguito:
    
    private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
    {
        if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar) &&
            (e.KeyChar != '.'))
        {
                e.Handled = true;
        }
    
        // only allow one decimal point
        if ((e.KeyChar == '.') && ((sender as TextBox).Text.IndexOf('.') > -1))
        {
            e.Handled = true;
        }
    }
    

    Pacifico437 ha scritto:


    Gent.mo Alka, ringrazio della tempestività e gentilezza.
    [...]
    Anticipatamente ringrazio e rinnovo le scuse, fiducioso di un gradito riscontro, saluto.
    Non stai scrivendo una "missiva", stai partecipando a una discussione su un forum tecnico: tutti questi "formalismi" non sono necessari e anzi rendono solo più difficoltosa la lettura dei problemi e la distinzione tra quelli che sono i dettagli interessanti da tutto il superfluo. Io li eviterei.

    Ciao!
Devi accedere o registrarti per scrivere nel forum
6 risposte