Newsgroup: it.comp.lang.visual-basic
Titolo: Posizione form all'avvio

Buondi'!
Magari la richiesta e' idiota, ma quando un mio programma visual basic
apre un form, benche' abbia inserito nell'evento Load *prima* il
me.visible=false poi il riposizionamento (con una move), per un attimo
compare il form nella posizione che possiede a design-time.
E' MOLTO fastidioso.
Piu' o meno e' quello che succede con i controlli di un form, ma qui ce la
si puo' cavare rendendoli invisibili e quindi visibili sul resize.
Mi sembra strano che nessuno abbia mai notato (e posto rimedio) ad un
comportamento cosi' antipatico... o sono io che non vedo la soluzione!
Grazie.
--
area
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 compare il form nella posizione che possiede a design-time.
Prova, prima di far apparire la form con il comando show, a renderla
invisibile, poi, nel load, dopo averla posizionata, la rendi di nuovo
visibile.
hth
Salutoni
Sergio

compare il form nella posizione che possiede a design-time.
prova a posizionare il codice nell'evento Initialize
--
gino

 
[CUT]
io uso 
Finestra.Move (Screen.Width - NomeForm.Width)/2, (Screen.Height -
NomeForm.Height) / 2
all'evento load del form, senza usare .visible = false e .visible =
true, rispettivamente prima e dopo
dello spostamento.
Non mi da i problemi che riferisci, prova a postare il codice, compreso
in quale evento lo generi.
ciao
Stefano
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

CSSoft wrote:


Non c'e' verso, soprattutto se si tratta di un form aperto da un form
'padre': le varie combinazioni con Load frm (nel chiamante), Me.Hide (o
frm.Visible=False) nel Load() del chiamato, posizionamento, e frm.Show con
Me.Visible=True nel Resize() del chiamato non hanno alcun effetto: il form
frm continua imperterrito a mostrarsi per un attimo nella sua posizione di
design-time.
Devo dire che mi succede spesso, in contesti anche differenti: in questo
caso sto aprendo il form incriminato con modalita' VbModal, non so se
possa c'entrare, in ogni caso deve esistere un inghippo che mi sfugge.
Grazie comunque, Sergio!


 Grazie comunque, Sergio!
Andrea

 wrote in message
news:AZxma.35766$
DT4.1...@twister1.libero.it

Se posizioni lo spostamento all'evento initialize, questo ti verrà
eseguito una sola volta al primo caricamento della form.
dopodichè per tutto il successivo tempo di vita del programma non veràà
più richiamato.
La sequenza degli eventi in un form in caricamento è:
[INITIALIZE] Solo una volta durante il ciclo di vita del programma.
[LOAD]
[ACTIVATE] Ogni volta che il form riacquista il focus
La sequenza degli eventi in un form in chiusura è:
[UNLOAD]
il [DECTIVATE] Viene richiamto ogni volta che il form perde il focus
Mentre tutti i 
[TERMINATE] Sono richiamati in sequenza al termine del programma (solo
dei form richiamati almenno una volta).


 in quale evento lo generi.
Per ripicca ho creato un progettino ad hoc, con due form (frmMain, il
principale e frm, il chiamato):
' Codice del chiamato, frm
' ........................
Private Sub Form_Load()
  Me.Visible = False
End Sub
Private Sub Form_Resize()
  Me.Left = (Screen.Width - Me.Width) / 2
  Me.Top = (Screen.Height - Me.Height) / 2
  Me.Visible = True
End Sub
' Codice del chiamante, frmMain
' ........................
Private Sub Form_Load()
  tmr.Interval = 2000
  tmr.Enabled = True
End Sub
Private Sub tmr_Timer()
  Load frm
  frm.Show
  tmr.Enabled = False  
End Sub
Be', non sempre, ma ogni tanto frm si apre con l'effetto bastardo: per un
attimo compare in alto, poi al centro, regolarmente.
Diciamo che su 10 Ctrl-F5, succede un paio di volte, su un PIII con MOLTA
Ram e pochi processi attivi.
Non so se incazzarmi, e' da tempo che ho questo effetto imprevedibile.
Grazie!


  Me.Top = (Screen.Height - Me.Height) / 2
-- 
ciao, hal

>  Me.Top = (Screen.Height - Me.Height) / 2
Ma usare la proprietą StartupPosition (o qualcosa del genere visto che
vado a memoria)?
Ciao.
-- 
BSD is for UNIX lovers -- linux is for Windows haters.

vado a memoria)?
Parlava di form child, mi pare...
-- 
ciao, hal

 vado a memoria)?
c'e' centerscreen, ma p.e. io l'altezza la setto a 1/3, sia nell'mdi sia nei
children, otticamente e' molto meglio.
ciao

 Parlava di form child, mi pare...
Si riferiva a form aperti da un form "padre"...


 children, otticamente e' molto meglio.
In questo caso...


 ha scritto nel messaggio
news:bd89f1c39c93e5cbd74...@mygate.mailgate.org...
