Newsgroup: it.comp.lang.visual-basic
Titolo: VB.net Winform e sequenza visualizzazione

Abbiate pazienza ma č tutto il giorno che nei momenti liberi cerco di 
modificare sto pezzetto di codice ...e non ne esco!
(a conferma che la grafica non č il mio forte!)
VB.net
Winform modale
Ha una progress bar che un timer fa scorrere finchč non si ferma il timer!
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Timer1.Tick
p += 1
If p <= Me.ProgressBar1.Maximum Then
Me.ProgressBar1.Value = p
Else
p = 0
Me.ProgressBar1.Value = p
End If
End Sub
c'č una routine:
Private Sub connessioneDB()
'Stabilisci connessione
If mUtente.Length <= 0 Or mPassword.Length <= 0 Then
Timer1.Stop()
ProgressBar1.Value = 0
Dim p As Graphics
p = ProgressBar1.CreateGraphics
p.DrawString("Nome utente o password non inseriti!", New Font("Courier", 8, 
FontStyle.Regular), Brushes.Blue, 34, 3)
End If
End Sub
che se non inserisci dei dati....stampa DENTRO la progressbar un testo
e poi c'č la load
Private Sub TentativoConnessione_Load(ByVal sender As Object, ByVal e As 
System.EventArgs) Handles Me.Load
ProgressBar1.Value = 0
End Sub
ORA il mio problema
DOVE mettere la routine  connessioneDB?
(per test non inserisco dei dati per far stampare il messaggio di errore)
Se la metto in un button e faccio click....mi fa vedere il testo...quindi la 
routine č OK!
MA in formLoad ...non mi fa vedere il testo
in Activated nemmeno
In paint č inutile perchč ad ogni tick scatterebbe
In pratica...disegnata la form e inizializzato tutto...dovrebbe fare 
scattare questa routine!
Ma non riesco a beccare l'evento che viene generato quando nella form č 
inizializzato e mostrato tutto l'ambarandan (non č evidentemente 
activated...paint non serve perchč puň scattare piů volte...)
La conferma č che se metto nel button e clicco...(quindi evidentemente...a 
form creata e mostrata..a controlli creati e mostrati)... funziona!
Ho provato anche i piů strani...ma non riesco a centrare l'evento!
Help!
-----------------------------
Mio Blog
http://www.martek.it/dblog/default.asp
Mia cittŕ
http://wodka40hall.myminicity.com/
****
In evidenza questa settimana
http://www.martek.it/dblog/articolo.asp?articolo=112
 

 testo...quindi la routine è OK!
Prova se funzina cosi
Forn_Load()
.....
me.show
ConnessioneDB
End Sub
-- 
Greg 

 End Sub
Scusa andavo di fretta e non ho aggiunto altro.
Si lo so che a vederla fa schifo, uno show dentro una load non è il massimo, 
forse è il doppio :)
Ma mi sono trovato tempo fa in una situazione simile alla tua, non avevo 
trovato nulla di meglio, ma almeno cosi risolvevo il problema. In pratica 
mettendo uno show esplicito prima della sub sei sicuro che il load è finito 
e che tutto è caricato e visibile e a quel punto la sub dovrebbe andare come 
chiamarla da pulsante.
-- 
Greg 


non funziona!
però la soluzione l'ho rovata....e forse fa più schifo della tua! eh eh
Ho creato privato nella form (e quindi sprecando risorse)
dim TB as Graphics
poi ho messo un secondo timer...impostato a 100ms
dentro:
Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As 
System.EventArgs) Handles Timer2.Tick
tB = ProgressBar1.CreateGraphics
connessioneDB()
Timer2.Stop()
End Sub
Adesso funziona tutto.....!
quindi è vero...il mio codice funziona (d'altronde è alquanto banale)...ma 
non riesce ad agganciare un evento che venga scatenato quando tutta la form 
TUTTA è create inizializzata e visualizzata....sembra di essere tornati ai 
vecchi tempi del vb6 in cui bisognava disconnetere la connection per vedere 
la datagrid aggiornarsi!!!
Non sono un guru...e quindi sbaglio certamente qualcosa....e c'è qualcosa 
che mi sfugge...forse una proprietà da settare nella form!
Confesso che a quest'ora leggendo l'help e spippolando con il visualizzatore 
di oggetti....verrebe voglia di subclassare e farsi il personale evento 
"FormLoaded_fancufancu"....perchè quel timer pur funzionando benissimo....mi 
fa storcere il naso!
Notte notte
-----------------------------
Mio Blog
http://www.martek.it/dblog/default.asp
Mia città
http://wodka40hall.myminicity.com/