PDA

View Full Version : Problema Apertura 3 form in vb.net


mangzeus
31-05-2004, 12:31
Nella Mia applicazione ho 3 form da gestire....i 3 form sono:

-FormPresentazione
-FormPrincipale
-FormAllarme

Funziona così...io parto nella mia applicazione con il formprincipale nascondendolo immediatamente e facendo comparire il form di presentazione...nel load del form di presentazione c'è una condizione che se risulta vera visualizzo il formallarme e automaticamente il form presentazione si chiude, una volta che chiudo il formallarme appare il formprincipale...mi spiego meglio con il codice...

parto con il formprincipale e questo è l'evento load

Private Sub FrmPrincipale_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim frPre As New FrmPresentazione()
'nasconde il FormPresentazione
Me.Hide() 'nasconde la form principale

'mostra il FormPresentazione (una volta che faccio clic sul pulsante entra del formPresentazione mi si chiude il form presentazione e quindi
'appare il formPrincipale)
frPre.ShowDialog() 'visualizza la form di presentazione

(interrompe l'esecuzione di quella principale fino alla sua chiusura)
'mostra il FormPrincipale
Me.ShowDialog() 'visualizza la form principale



questo è l'evento load, o meglio l'evento click del pulsante che c'è sul formPresentazione che una volta cliccato svolge una condizione che se risulta vera appare il formAllarme e si chiude il formPresentazione se falsa si chiude il formPresentazione e appare il formPrincipale


Private Sub btEntra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btEntra.Click
Dim i As Integer
i = Count
If i > 0 Then
'mostro il formAllarme
frAllarme.Showdialog()
End If
Me.Close()'chiudo il formPresentazione e appare il form Principale

il mio problema è che quando la condizione è vera e visualizzo in showdialog il formAllarme dopo un po mi viene fuori questo errore:
"I Form già visibili non possono essere visualizzati come finestra di dialogo modale.Impostare la proprietà visible del form su false prima di chiamare showDialog"

io ho provato a impostare di tutti e tre la proprietà visible a false ma non funzia...dove devo impostarla???come devo fare???
End Sub

fabio_tarantino
31-05-2004, 14:21
Oh guarda chi si rivede...

Scusa ma la dichiarazione della frmAllarme dov'è? La devi dichiarare nell'evento onClick della frmPresentazione.

A parte questo, non mi ricordo se puoi visualizzare form modali in gerarchia... se non fosse possibile puoi cmq risolvere utilizzando un msgbox invece di una form (per la frmAllarme).


Private Sub btEntra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btEntra.Click

Dim frAllarme as New frmAllarme
Dim i As Integer
i = Count
If i > 0 Then
frAllarme.Showdialog()
End If
Me.Close()

End Sub

mangzeus
31-05-2004, 18:53
Originariamente inviato da fabio_tarantino
Oh guarda chi si rivede...

Scusa ma la dichiarazione della frmAllarme dov'è? La devi dichiarare nell'evento onClick della frmPresentazione.

A parte questo, non mi ricordo se puoi visualizzare form modali in gerarchia... se non fosse possibile puoi cmq risolvere utilizzando un msgbox invece di una form (per la frmAllarme).


Private Sub btEntra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btEntra.Click

Dim frAllarme as New frmAllarme
Dim i As Integer
i = Count
If i > 0 Then
frAllarme.Showdialog()
End If
Me.Close()

End Sub



si va be me la sono dimenticata cmq l'ho messa...che cosa vuole con mettere la proprietà del form a visible = false prima di chiamare showdialog...???non posso fare con un messagebox perchè ho dei dati da visualizzare....non ce un modo per farlo??