Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Creazione di classi standard
mercoledì 09 novembre 2005 - 13.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
lucagtii
Profilo
| Junior Member
63
messaggi | Data Invio:
mer 9 nov 2005 - 13:42
Ciao a tutti,è qulache mese che ho approcciato vb.net e vorrei un consiglio su come crearmi delle classi standard che in fututo potrò riutilizzare per altri progetti.
Premetto che ad esempio mi sono cotruito delle form "base" dalle quali eredito le mie nuove form. Però ad esempio vorrei capire come posso creare ad esempio un textbox che si comporta in un certo modo(esempio sull'evento key_up si sposta alla textbox successiva) e riutilizzarlo in tutte le mie form?
Ciao e grazie ancora
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
mer 9 nov 2005 - 14:48
>Ciao a tutti,è qulache mese che ho approcciato vb.net e vorrei
>un consiglio su come crearmi delle classi standard che in fututo
>potrò riutilizzare per altri progetti.
>Premetto che ad esempio mi sono cotruito delle form "base" dalle
>quali eredito le mie nuove form.
Ottimo è una buona soluzione.
>Però ad esempio vorrei capire
>come posso creare ad esempio un textbox che si comporta in un
>certo modo(esempio sull'evento key_up si sposta alla textbox
> successiva) e riutilizzarlo in tutte le mie form?
Mmh... allora riguardo alla TextBox il discorso è uguale a ciò che hai fatto con le Form. Ti puoi creare TextBox derivati da quello principale e puoi poi personalizzarne il comportamento. Relativamente all'esempio che hai fatto però ho alcuni dubbi perchè l'oggetto all'interno del Form ha una sua vita propria, come fa a sapere se nella Form ci sono altri controlli ? E poi come definisci il termine "successiva" ? Successiva per chi ? E' la text box più sotto o la textbox a destra ? E poi entro nel merito che significato ha mettere che come evento KeyUp il focus si sposta in un'altra textbox ? Il risultato sarebbe che dopo aver premuto un carattere il focus si sposta automaticamente sotto (magari è ciò che ti serve ma generalmente nella TextBox si digita testo ben più lungo di un carattere).
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
lucagtii
Profilo
| Junior Member
63
messaggi | Data Invio:
mer 9 nov 2005 - 15:15
>Mmh... allora riguardo alla TextBox il discorso è uguale a ciò
>che hai fatto con le Form. Ti puoi creare TextBox derivati da
>quello principale e puoi poi personalizzarne il comportamento.
E' proprio quello che non riesco a fare!
Mi spiego meglio: la mia intenzione è quella di creare una form "base" con dei controlli (es:textbox) che abbiano tutti lo stesso comportamento. Quando dico sul key_up intendo passare al textbox successivo intendo che controllo se il tasto premuto sia l'invio.
>Relativamente all'esempio che hai fatto però ho alcuni dubbi
>perchè l'oggetto all'interno del Form ha una sua vita propria,
>come fa a sapere se nella Form ci sono altri controlli ? E poi
>come definisci il termine "successiva" ? Successiva per chi
>? E' la text box più sotto o la textbox a destra ?
Quando parlo della textbox successiva intendo in ordine di tabindex. Riesco ad avere il controllo successivo con il metodo GetNextControl.
Dim ctrl As Windows.Forms.Control
If e.KeyCode = Keys.Return Then
ctrl = GetNextControl(ctrl, True)
e.Handled = True
If Not ctrl Is Nothing Then
ctrl.Focus()
End If
End If
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 14 nov 2005 - 11:23
>E' proprio quello che non riesco a fare!
>Mi spiego meglio: la mia intenzione è quella di creare una form
>"base" con dei controlli (es:textbox) che abbiano tutti lo stesso
>comportamento. Quando dico sul key_up intendo passare al textbox
Ok. Si ve beh, come sai puoi intercettare la pressione di qualsiasi tasto. Dove dubitavo era sulla selezione di un altro controllo, ma la soluzione che hai postato penso sia ottima.
>Quando parlo della textbox successiva intendo in ordine di tabindex.
>
> Dim ctrl As Windows.Forms.Control
>
> If e.KeyCode = Keys.Return Then
> ctrl = GetNextControl(ctrl, True)
> e.Handled = True
> If Not ctrl Is Nothing Then
> ctrl.Focus()
> End If
>
> End If
Ok ottima soluzione. Avevo ignorato questo approccio.
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !