Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB2010] Problema System.Windows.Forms.KeyPressEventArgsrg

    Salve,
    ho cercato nel forum problemi simili al mio ma non ne ho trovati, quindi ho aperto questa discussione.

    In breve, nel mio programma si attivano determinati eventi se viene premuto nella textbox il tasto Invio.
    Perchè questo accada ho bisogno di mettere il codice nella procedura:
    Private Sub TextBox1_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress

    Però ho bisogno anche di un timer in questo programma, così dichiarato:
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Label6.Text = Label6.Text + 1
    End Sub

    All'interno della procedura TextBox1_Keypress ... ho questo If:
    If Label6.Text = 30 Then
    Il problema è che questo si avvera solo se, quando il timer è 30, io intanto sto premendo qualche tasto.

    Come posso risolvere questo problema, cioè poter rendere le condizioni dipendenti SOLO dal timer, ma comunque mantenere il tasto invio come chiave per sbloccare determinati eventi?

  2. #2
    Utente di HTML.it L'avatar di escocat
    Registrato dal
    Feb 2012
    Messaggi
    308
    Anni e anni fa ho fatto qualcosa del genere (te lo scrivo in C# perchè non uso più VB ma se vuoi lo traduco). Non prenderlo come un metodo ortodosso perchè tecnicamente si fa in un altro modo ma io sono troppo fantasioso....

    codice:
    public partial class Form1 : Form
        {
            public int a;
            public char k;
            public Form1()
            {
                InitializeComponent();
            }
    
            private void timer1_Tick(object sender, EventArgs e)
            {
                a++;
                label1.Text=a.ToString();
                if (k == (char)65)
                    Application.Exit();
    
    
            }
    
            private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
            {
                k = e.KeyChar;
                 
            }
    
     
        }

  3. #3
    Perfetto, mi hai chiarito molto le idee e ho risolto, grazie!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.