Originariamente inviato da omarmassa
Salve a tutti,
premetto che sono nuovo del forum e che non ho alcuna intenzione di fare post doppi o danni al sito in qualsiasi modo, spero dunque di attenermi al regolamento e vi prego di riprendermi se sbaglio qualcosa.
Il Regolamento, per rispettarlo, bisogna leggerlo, cosa che evidentemente non hai fatto (o l'hai letto MOLTO superficialmente) perchè hai già iniziato con una violazione NON indicando nel titolo il linguaggio usato , quindi ti suggerisco di ri-leggerlo (il Regolamento) con più attenzione, così eviterai il rischio di una moderazione.

Originariamente inviato da omarmassa
Veniamo dunque al problema... [cut]
Sto programmando con VB6 un programmino abbastanza semplice che si articola attraverso l'uso di timer, ci sono 2 form una in cui consiste il programma vero e proprio e una che ha la funzione di poco più di una msgbox che viene chiamata dalla prima all'inizio del programma.
il risultato che vorrei ottenere è che all'apertura del programma appare una form (form child)con un messaggio di avviso,e che dopo 4 secondi si distattiva e parte la seconda. Il problema è che al momento della chiamata che faccio in form_load la form appare in secondo piano.
Domanda 1: se dopo 4 secondi disattivi il primo form, come fa ad apparire la secondo form in secondo piano, visto che il prima non c'è più?

Originariamente inviato da omarmassa
Ho provato già a cercare in giro per il sito e altri siti, ho provato con i comandi load form2, form2.show, form2.zorder con e senza "(0)" ma non c'è versi di farla apparire in primo piano.
Ovviamente ho già pensato a cambiare i codici e a far della form2 la form padre ma se faccio così il gusto di programmare va a farsi benedire!
Domanda 2: e noi cosa possiamo dirti dato che non ci hai mostrato nemmeno una riga di codice, né del prima né del dopo averli cambiati?
(Altra raccomandazione contenuta nel Regolamento... )

Originariamente inviato da omarmassa
Chiedo dunque aiuto a voi per trovare un ordine o un metodo efficente.
Ringrazio anticipatamente tutti coloro che si prenderanno il disturbo di rispondermi.
Se ci aiuti ad aiutarti, proviamo a farlo.

Cosa intendi esattamente per disattivato?
Visibile in primo piano ma non accessibile? Nascosto? Chiuso?
Non si capisce in che modo vuoi usare il form di 'splash-screen'.

Comunque, se fai partire il programma dalla Sub Main() la cosa è banale:

codice:
Public Sub Main()
  Load Form1

  'resterà sempre in primo piano rispetto a Form1
  frmSplash.Show , Form1   

  ' attendo 4 secondi
  Dim TimeDelay As Long
  TimeDelay = Timer
  Do While Timer < (TimeDelay + 4)
      DoEvents
  Loop

  ' ora mostro 'anche' il Form1
  Form1.Show
  
  Debug.Print "Eseguito in : " & Timer - TimeDelay & " secondi"
    
End Sub
Io ho usato il frmSplash scelto tra i modelli a disposizione di VB6.

Con il codice sopra vedrai entrambi i form sullo schermo, ora non ti resta che scegliere come chiudere il form frmSplash.

Puoi usare un Timer nel frmSplash per farlo chiudere automaticamente, oppure l'utente preme un tasto...

Ad esempio, se usi il modello frmSplash di VB6, ha già tutto predisposto, ti basta aggiungervi un Timer ed usare questo codice che lo farà chiudere dopo 8 secondi, cioè dopo 4 secondi che si è aperto il Form1:
codice:
Private Sub Form_Load()
    ' al codice esistente aggiungi
    Timer1.Interval = 1000
End Sub
Private Sub Timer1_Timer()
    Static i As Long
    i = i + 1
    If i >= 8 Then
        tmr1.Enabled = False
        Unload Me
    End If
End Sub


P.S. MDI padre o MID child non c'entrano nulla con tutto questo.