Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - timer per cambiare form in automatico
Forum - C# / VB.NET - timer per cambiare form in automatico - Pagina 3

Pagine: [ 1 2 3 ] Precedente | Prossimo
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 21:46
Martedì, 15/09/2009
Testo quotato

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 ;)

PM Quote
Avatar
maverik79 (Normal User)
Rookie


Messaggi: 45
Iscritto: 18/05/2009

Segnala al moderatore
Postato alle 11:03
Mercoledì, 16/09/2009
mi sa che si deve distruggere il form perche se chiudo mentre è in esecuzione mi sui riapre

PM Quote
Avatar
ruggy94 (Member)
Guru


Messaggi: 890
Iscritto: 21/04/2008

Segnala al moderatore
Postato alle 13:50
Mercoledì, 16/09/2009
Testo quotato

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"?

PM Quote
Avatar
maverik79 (Normal User)
Rookie


Messaggi: 45
Iscritto: 18/05/2009

Segnala al moderatore
Postato alle 14:26
Mercoledì, 16/09/2009
si chiudo uno dei form mentre è in esecuzione e si riapre di nuovo

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 15:17
Mercoledì, 16/09/2009
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:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  2.         End
  3.     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:

Codice sorgente - presumibilmente VB.NET

  1. Module VGlobal
  2.     Public frm2 as boolean = true
  3.     Public frm3 as boolean = true
  4.     Public frm4 as boolean = true
  5. End Module
  6.  
  7. Public Class Form1
  8.     Dim count As Integer = 1
  9.  
  10.     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  11.         If count = 1 Then
  12.             count = 2
  13.             Form2.Show()
  14.             Me.Hide()
  15.             Exit Sub
  16.         End If
  17.  
  18.         If count = 2 And frm2 Then
  19.             count = 3
  20.             Form3.Show()
  21.             Form2.Hide()
  22.             Exit Sub
  23.         End If
  24.  
  25.         If count = 3 And frm3 Then
  26.             count = 4
  27.             Form4.Show()
  28.             Form3.Hide()
  29.             Exit Sub
  30.         End If
  31.  
  32.         If count = 4 And frm4 Then
  33.             count = 1
  34.             Me.Show()
  35.             Form4.Hide()
  36.         End If
  37.     End Sub
  38. End Class



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

Codice sorgente - presumibilmente VB.NET

  1. Private Sub FormX_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
  2.         frmX = False
  3.     End Sub


Ultima modifica effettuata da manvb.net il 16/09/2009 alle 15:31
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 19:00
Mercoledì, 16/09/2009
Testo quotato

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.

PM Quote
Avatar
manvb.net (Member)
Guru


Messaggi: 663
Iscritto: 28/01/2008

Segnala al moderatore
Postato alle 19:42
Mercoledì, 16/09/2009
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


manvb.net ha allegato un file: ScorriForm.zip (88407 bytes)
Clicca qui per scaricare il file

Ultima modifica effettuata da manvb.net il 18/09/2009 alle 15:57
PM Quote
Pagine: [ 1 2 3 ] Precedente | Prossimo