Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    181

    [C#] non funziona evento tasto, nonostante codice corretto

    ciao,

    un'applicazione C# per windows CE non mi cattura l'evento del tasto 'TAB' premuto.
    Ovvero, mi sposto con il tasto tra un campo e l'altro, ma non mi esegue il codice che gli ho chiesto.

    Posto il codice:

    codice:
            this.textBox1.KeyDown += new KeyEventHandler(textBoxIdArticolo_KeyDown);
            [...]
            void textBoxIdArticolo_KeyDown(Object o, KeyEventArgs e)
            {
                if (e.KeyCode == Keys.Tab)
                {
                        System.Windows.Forms.MessageBox.Show("Tasto TAB");
                }
            }
    Per cortesia, dove sbaglio????
    -- John --

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Molto probabilmente il Tab e' un tasto che viene gestito autonomamente e non viene passato all'evento KeyDown.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    181
    perdonami: e quindi?

    in effetti, se provo qualsiasi altro tasto, mi funziona, e perchè sto benedetto TAB no?
    per evitare questo problema come posso fare?
    -- John --

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    181
    grazie, sembra interessante, ma mi sfuggono alcuni punti di quella pagina:

    verso la fine, vi son le istruzioni da seguire, ma come faccio importare la libreria che non esiste? è essenziale per il funzionamento dell'evento, giusto?

    6. Fare clic su Sfoglia, trovare MyCustomControl.dll (in genere nella cartella \bin\debug della cartella di applicazione MyCustomControl) e quindi scegliere OK.
    Quindi compilando (ma senza importare alcun file..) m'esce sto errore:

    Errore 1 'DeviceApplication1.Form1.IsInputKey(System.Window s.Forms.Keys)': impossibile trovare un metodo adeguato per eseguire l'override C:\Documents and Settings\Antonio\Visual Studio 2005\Projects\DeviceApplication1\Form1.Designer.cs ...

    codice:
            this.textBox1.KeyDown += new KeyEventHandler(IsInputKey(Keys));
    [...]
            protected override bool IsInputKey(System.Windows.Forms.Keys keyData)
            {
                switch (keyData)
                {
                    case Keys.Tab:
                        System.Windows.Forms.MessageBox.Show("ok");
                    default:
                }
            }
    Inutile a dirvi che son na schiappa, e che con C# ho cominciato da poco..
    -- John --

  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da McLain
    verso la fine ...
    Ma devi leggere tutto l'articolo ... prima c'e'

    Sviluppare il controllo per Windows Form personalizzato

    ...

    2. Creare un nuovo progetto Libreria di classi utilizzando Visual C # . NET o Visual C# 2005.

    3. Denominare il progetto MyCustomControl. Per l'impostazione predefinita, si crea Class1.cs.

    ...

  7. #7
    Un consiglio: non stare a creare un progetto separato per il controllo personalizzato, ma aggiungi il controllo personalizzato direttamente al tuo progetto. In secondo luogo, ti consiglio di leggere l'articolo direttamente in inglese, perché la traduzione automatica lo rende incomprensibile.
    Amaro C++, il gusto pieno dell'undefined behavior.

  8. #8
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da MItaly
    ... direttamente in inglese ...
    Un consiglio da seguire *sempre* ...

  9. #9
    Utente di HTML.it
    Registrato dal
    Jan 2004
    Messaggi
    181
    Grazie mille per l'aiuto, e mi sa che questa potrebbe essere la soluzione adeguata per ciò che ho chiesto!

    Ma non mi compila la prima parte delle istruzioni, ovvero il primo progetto (MyCustomControl, per capirsi)
    E se non posso trovare quella dannata libreria.. non posso continuare con la seconda parte.. SOB!

    L'errore per cui non mi compila è il seguente ma..

    Errore 1 'MyTextBox.IsInputKey(System.Windows.Forms.Keys)': impossibile trovare un metodo adeguato per eseguire l'override C:\Documents and Settings\Antonio\Visual Studio 2005\Projects\MemorControl\MyTextBox.cs 6 29 MemorControl

    Che devo fà? Sto sclerando..
    -- John --

  10. #10
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Hai seguito tutti i passi ... ? L'ho fatto e ha funzionato ...

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.