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
Fnzionalità Autohide
giovedì 13 maggio 2004 - 11.57
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Tambu
Profilo
| Newbie
15
messaggi | Data Invio:
gio 13 mag 2004 - 11:57
Ciao a tutti,
Ho cominciato a usare da pochissimo Vb.net per cui perdonate la domanda da niubbone.
Mi piacerebbe creare un form 'a scomparsa',
implementando cioè una funzionalità simile all'autohide delle finestre dell'ide di VS.NET.
Quindi cliccando un bottone, vorrei aprire un form facendolo 'scorrere' fino al raggiungimento dell'ampiezza voluta.
Alla chiusura, procedimento inverso.
Avete qualche suggerimento da darmi?
Grassie!
Ciao
Tambu
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
gio 13 mag 2004 - 13:49
Allora la finestra è dotata di proprietà che indicano la sua posizione nello schermo
.Top e .Left ti indicano le coordinate dello spigolo superiore a sinistra e poi sommando a queste due .Height e .Width trovi le corrispondenti dello spigolo inferiore destro.
Praticamente è necessario fare un ciclo da 100 per esempio a -100 e assegnare i valori man mano alla proprietà .Top in questo modo otterrai l'effetto desiderato cioè la finestra si sposta man mano sopra lo schermo fino a scomparire fino ad arrivare a -100 (cioè fuori schermo).
La stessa cosa la puoi fare con il .Left per farla sparire a destra o a sinistra.
ciao
david
Tambu
Profilo
| Newbie
15
messaggi | Data Invio:
gio 13 mag 2004 - 14:41
Perfetto!
Allora è come lo avrei fatto in VB.
Pensavo ci fossero oggetti/proprietà già pronti all'uso.
Grazie mille!
CIAO!
Tambu
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
ven 14 mag 2004 - 11:41
..ehm..scusate l'intrusione e la domanda niubba...io ho provato x curiosità ma, come già prevedevo, l'esecuzione è talmente veloce che non noto l'effetto...cosa si usa x perdere tempo tra un ciclo e l'altro?
Io in c conoscevo la "Sleep()", ma qui nn trovo nulla..
Grazie in anticipo
Ciao
alextyx
Profilo
| Expert
668
messaggi | Data Invio:
ven 14 mag 2004 - 13:01
Mai avuto il problema di rallentare l'esecuzione....magari!!!! :-)))
Cmq, ho sentito anch'io paralare di sleep, ma nn ho mai verificato se ci sia su VB.NET.
Di sicuro puoi usare un Timer, magari facendo partire la scomparsa con un incremento ogni 200msec., per i primi 2 o tre passi, poi velocizzando, cioè diminuendo i ms. ogni tanti cicli, fino ad arrivare al minimo (una 35 ina di ms.) sotto il quale il Timer nn è più affidabile. Otterresti l'effetto accelerazione. Invertendo la logica, avresti un Form che entra come un razzo e poi rallenta avvicinandosi alla meta. Tieni presente, se invece vuoi usare un ciclo che testa il tempo per dirigere le operazioni, che puoi recuperare Tick di 100ns l'uno (se nn sbaglio) e senza usare API, solo con le dormali dotazioni dell'universo DATETIME.
Tambu
Profilo
| Newbie
15
messaggi | Data Invio:
ven 14 mag 2004 - 17:01
Ciao!
Anche in Vb 6 si poteva usare la funzione sleep, ma bisognava priva dichiarare
l' API realtiva.
Non so come funzionano le cose in net, però se ti può servire
la dichiarazione dell'api (in Vb 6) si faceva così:
Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Dopodichè nel codice bastava scrivere
Sleep (TempoInMillisecondi)
Magari funzia anche in net....
Ciao!
Tambu
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
sab 15 mag 2004 - 00:22
Si tambu può funzionare anche in .NET.
La cosa migliore è usare un Thread.
E all'interno del Thread dove c'è il ciclo che fa spostar la finestra inserire :
Thread.Sleep(1000)
Così avrai scatti di un secondo (1000 ms.) più riduci questo tempo e più l'effetto sarà più fluido.
La stessa cosa cmq. la puoi fare più semplicemente usando un Timer con un lasso di tempo di qualche millisecondo.
ciao
david
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
lun 17 mag 2004 - 10:12
grazie mille..proverò la soluzione Timer...
Ciao
Tambu
Profilo
| Newbie
15
messaggi | Data Invio:
lun 17 mag 2004 - 10:39
Ciao!
Per tornare alla mia domanda originale, ovvero come fare per ottenere un effetto simile alla funzionalità autohide delle finestre di Visual Studio.NET,
ho trovato una libreria che tra le altre cose permette proprio di creare form "a scomparsa".
Tale libreria (dotnetmagic) ora è a pagamento ma su internet si riescono ancora a trovare le release precedenti
le quali erano free.
Tale libreria è corredata da sorgenti.
Se qualcun'altro fosse interessato a creare form di questo tipo, fatemi sapere così vi do maggiori info su dove reperire tale
libreria.
Ciao!
Tambu
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
lun 17 mag 2004 - 12:59
Eccomi!!!!
Di sicuro non sarebbe male, se riesci a "sharare" la libreria, o ad indicarmi dove trovarla mi faresti un grande favore..adoro sbizzarrirmi nella programmazione..
Grazie mille
Ciao
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
lun 17 mag 2004 - 14:51
Ciao,
anche io tempo fa avevo provato dotnetmagic e l'avevo anche installato su un PC ora però non la trovo più. In ogni caso se è diventata a pagamento c'è poco da fare. Integrando le sue funzionalità in un'applicazione poi se la si distribuisce è necessario pagare le fees se no non si è in regola... non so quanto convenga rischiare anche perchè i componenti dotnetmagic sono molto conosciuti.
ciao
david
Tambu
Profilo
| Newbie
15
messaggi | Data Invio:
lun 17 mag 2004 - 15:21
Ciao!
X andy : appena arrivo a casa cerco il link da cui ho scaricato la libreria, ora sono in ufficio e non lo ho sottomano.
Al max se non lo trovo ti mando una mail con il setup di installazione, tanto è piccolo (800 k mi pare).
X Brain: si, ora è a a pagamento (299 $) quindi in un applicazione commerciale non la si può distribuire, per fare due prove però
viene benissimo.
Poi essendo compresa di sorgenti, è una buona occasione (per chi come me ne sa ancora poco di .NET) per imparare
a fare cose un po più complesse.
Ciao.
Tambu
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
lun 17 mag 2004 - 15:26
Ok, intanto grazie mille..non era comunque mia intenzione usarla a scopi commerciali, però mi incuriosiscono tutti gli effetti e le particolarità che si possono fare o da cui prendere spunto..
A presto.
Tambu
Profilo
| Newbie
15
messaggi | Data Invio:
mar 18 mag 2004 - 01:17
Ciao!
Allora, io la libreria (versione 1.7.4, una delle ultime free a quanto ne so) l'ho scaricata da qui
http://dev.cdrnet.net/download/ThirdParty/MagicUI/1.7.4/default.aspx
Se dovessi avere problemi con il download fammi sapere che te la invio!
Ciao!
Tambu
Andy
Profilo
| Senior Member
487
messaggi | Data Invio:
mar 18 mag 2004 - 08:07
Fatto, nessun problema.. ora ci gioco un po...grazie mille ancora una volta..
Ciao
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 !