Oppure

Loading
15/09/09 19:25
manvb.net
1. E perchè fallaceo? Mica deve disruggere ogni volta i form, li deve solo mostrare uno alla volta!(non conviene distruggere un form che verrà rimostrato successivamente)
Ultima modifica effettuata da Il Totem 16/09/09 17:00
aaa
15/09/09 19:46
ruggy94
Postato originariamente da manvb.net:
Mi sa che maverik non se ne intende molto, era scontato che bisognava creare 4 form...

Eh, già. L'errore non è stato tuo, ma viste le incomprensioni, mi sono sentito in dovere di precisare ;)
aaa
16/09/09 9:03
maverik79
mi sa che si deve distruggere il form perche se chiudo mentre è in esecuzione mi sui riapre
aaa
16/09/09 11:50
ruggy94
Postato originariamente da maverik79:

mi sa che si deve distruggere il form perche se chiudo mentre è in esecuzione mi sui riapre

Eh? Spiegati meglio. "Chiudi" cosa? Uno dei Form? E in che senso "ti si riapre"?
aaa
16/09/09 12:26
maverik79
si chiudo uno dei form mentre è in esecuzione e si riapre di nuovo
aaa
16/09/09 13:17
manvb.net
Normalissimo, non devi distruggere niente(tra l'altro se distruggi i form non risolvi), l'applicazione termina solo se chiudi il form1!
Se vuoi far si che si chiuda chiudendo ogni form devi mettere:

Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        End
    End Sub


in ogni form.
Questo codice chiude l'applicazione(End) qualora si chiudesse un qualsiasi form
Comunque ti consiglio di studiare invece di chiedere aiuti a caso sul forum!


Se poi vuoi avere la possibilità di chiudere uno dei form(solo i secondari, non il 1°;) e non farlo più riaprire lo devi fare con delle variabili boolean all'interno del form.
Esempio:

Module VGlobal
    Public frm2 as boolean = true
    Public frm3 as boolean = true
    Public frm4 as boolean = true
End Module

Public Class Form1
    Dim count As Integer = 1

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        If count = 1 Then
            count = 2
            Form2.Show()
            Me.Hide()
            Exit Sub
        End If

        If count = 2 And frm2 Then
            count = 3
            Form3.Show()
            Form2.Hide()
            Exit Sub
        End If

        If count = 3 And frm3 Then
            count = 4
            Form4.Show()
            Form3.Hide()
            Exit Sub
        End If

        If count = 4 And frm4 Then
            count = 1
            Me.Show()
            Form4.Hide()
        End If
    End Sub
End Class



E in ogni form ci metti(sostituendo X con il numero del form):

Private Sub FormX_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        frmX = False
    End Sub
Ultima modifica effettuata da manvb.net 16/09/09 13:31
aaa
16/09/09 17:00
Il Totem
1. E perchè fallaceo? Mica deve disruggere ogni volta i form, li deve solo mostrare uno alla volta!(non conviene distruggere un form che verrà rimostrato successivamente)


Infatti io non ho detto che non funziona, ma che la logica ha poco senso. Un controllo che sovrintende a tutti i form non si può trovare in uno degli elementi che essso stesso controlla. Notare che hai creato un modulo, come avevo suggerito, ma hai lasciato il timer nel form1, quando sarebbe stato meglio inserire anche quello nel modulo stesso.
aaa
16/09/09 17:42
manvb.net
Si, hai ragione, in questi giorni ho la testa piena di pensieri e la mia logica è andata a farsi friggere!:D

@maverik79
Se ti servisse di riscrivere il codice nella maniera in cui ha detto Il Totem chiedi pure!
Anche se, come ho detto qualche post fa, dovresti studiare bene e provare a farlo da solo, altrimenti non impari niente...

Edit:
Ecco il codice modificato come hai chiesto in chat
Ultima modifica effettuata da manvb.net 18/09/09 13:57
aaa