14/09/08 17:35
alpi39
Postato originariamente da Il Totem:
Beh, se è una nuova form, non c'è su niente, perciò è normale che sia bianca. Più strano è che sparisca subito. Codice prego.
Beh, se è una nuova form, non c'è su niente, perciò è normale che sia bianca. Più strano è che sparisca subito. Codice prego.
Ciao Totem.
Questo è il codice:
Public Class Form1 Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged Dim form2 As New Form2 Dim CALENDARIO As New Form CALENDARIO.Show() Me.Close() End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged Dim form3 As New Form3() Dim PROGRAMMAZIONE As New Form PROGRAMMAZIONE.Show() Me.Close() End Sub Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged Dim form4 As New Form4 Dim PROGRAMMA As New Form PROGRAMMA.Show() Me.Close() End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() End Sub
Come puoi vedere, la fom che la Form1 deve richiamare non è una, bensì sono tre.
La Form2 (già completata con codice e grafica) è la Form che crea il calendario.
La Form3 (quasi completata) è quella che registra sul calendario, sia le uscite in edicola dei periodici e, sia le fasi di lavorazione degli stessi.
La Form4 (già completata con codice e grafica) è quella che, inserendo una data fa vedere cosa c'è in programma quel giorno (uscite in edicola e fasi di lavorazione).
Tutto questo richiamando con la Form1 il programma che interessa.
Form1 che è completa sia di codice che di grafica.
Il problema è che quando ho sul monitor la Form1 e visualizzo la finestra di progettazione, volendo effettuare il Debug della stessa, il Debug non lo effettua e per qualche istante appare una Form bianca che poi subito sparisce.
Poi, desidererei sapere se il metodo delle tre cartelle con all'interno la Form relativa che ho descritto nel mio precedente Post è giusta o no.
Grazie infinite Totem.
Sei veramente un Guru.
alpi39 (Alberto)
Ultima modifica effettuata da alpi39 14/09/08 17:40
aaa
15/09/08 13:47
Il Totem
Grazie, ma io penso che tu abbia ancora qualche problema a capire le classi...
Ti analizzo questo codice, e vale per tutte e tre:
-
Questo codice crea un nuovo oggetto di tipo form2, ossia il form che devi visualizzare, completo di pulsanti, liste, e altri controlli. Tuttavia, una volta creato, lo lasci lì senza neanche usarlo, rendendo questa linea di codice inutile. Peccato che sia l'unica riga giusta
-
Crei un nuovo oggetto di tipo Form. Devi capire la differenza che c'è tra Form e Form2 (o Form1 o Form3 o quello che vuoi). Il tipo Form rappresenta una generica finestra VUOTA, in cui è presente solo lo sfondo grigio e il bordo, niente di più. Da Form derivano altre classi tramite ereditaerietà (un concetto importantissimo che devi conoscere: visita la mia guida in caso contrario). La derivazione implica che Form2 abbia tutto quello che ha già Form, con l'aggiunta di qualcosa. In particolare, quando dici Form2, intendi "quella particolare Form, con quei particolari pulsanti, quella particolare lista, che ha quel particolare compito" e non "un generico form, solo con un 2 alla fine del nome". Per ricordarti di questo ti suggeriscono di NON chiamare MAI (o almeno finché tu non abbia appreso il conetto) un Form con un numero, ma dargli uno specifico nome. Se serve per un calendario, lo chiamerai "FormCalendario", se è per la programmazione "FormProgrammazione", e così via.
-
Fai vedere il form CALENDARIO, ma tu l'hai espressamente dichiarato come un generico e basilare Form, ossia una finestra senza niente. E' normale che sia vuota.
-
Questo non puoi saperlo, ma le applicazioni windows sono programmate per terminare quando il form principale viene chiuso. Rchiamando Me.Close, quindi, istruisci implicitamente il computer di terminare l'applicazione. Per cambiare questo settaggio, devi andare nelle proprietà del progetto e specificare in Shutdown Mode (modalità di chiusura) la voce "When last form closes" (quando si chiude l'ultimo form), come illustrato qui:
totem.altervista.org/guida/versione2/…
Dim form2 As New Form2 Dim CALENDARIO As New Form CALENDARIO.Show() Me.Close()
Ti analizzo questo codice, e vale per tutte e tre:
-
Dim form2 As New Form2
Questo codice crea un nuovo oggetto di tipo form2, ossia il form che devi visualizzare, completo di pulsanti, liste, e altri controlli. Tuttavia, una volta creato, lo lasci lì senza neanche usarlo, rendendo questa linea di codice inutile. Peccato che sia l'unica riga giusta
-
Dim CALENDARIO As New Form
Crei un nuovo oggetto di tipo Form. Devi capire la differenza che c'è tra Form e Form2 (o Form1 o Form3 o quello che vuoi). Il tipo Form rappresenta una generica finestra VUOTA, in cui è presente solo lo sfondo grigio e il bordo, niente di più. Da Form derivano altre classi tramite ereditaerietà (un concetto importantissimo che devi conoscere: visita la mia guida in caso contrario). La derivazione implica che Form2 abbia tutto quello che ha già Form, con l'aggiunta di qualcosa. In particolare, quando dici Form2, intendi "quella particolare Form, con quei particolari pulsanti, quella particolare lista, che ha quel particolare compito" e non "un generico form, solo con un 2 alla fine del nome". Per ricordarti di questo ti suggeriscono di NON chiamare MAI (o almeno finché tu non abbia appreso il conetto) un Form con un numero, ma dargli uno specifico nome. Se serve per un calendario, lo chiamerai "FormCalendario", se è per la programmazione "FormProgrammazione", e così via.
-
CALENDARIO.Show()
Fai vedere il form CALENDARIO, ma tu l'hai espressamente dichiarato come un generico e basilare Form, ossia una finestra senza niente. E' normale che sia vuota.
-
Me.Close()
Questo non puoi saperlo, ma le applicazioni windows sono programmate per terminare quando il form principale viene chiuso. Rchiamando Me.Close, quindi, istruisci implicitamente il computer di terminare l'applicazione. Per cambiare questo settaggio, devi andare nelle proprietà del progetto e specificare in Shutdown Mode (modalità di chiusura) la voce "When last form closes" (quando si chiude l'ultimo form), come illustrato qui:
totem.altervista.org/guida/versione2/…
aaa