Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [VS 2010 winform] evento load

    Ciao,

    Questa non riesco proprio a capirlo.. se metto queste istruzioni nell'evento load del form1:

    codice:
    public class form1
    
    ..
    ..
    
    
     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim varbo As New FileStream("salvato.dat", FileMode.Open)
            Dim formatter As New BinaryFormatter
    
            salvato = DirectCast(formatter.Deserialize(varbo), Boolean)
    
            If salvato = True Then
                MsgBox("vuoi caricare ultima configurazione?", 3)
    
            End If
    
            varbo.Close()
            cinema_name = ""
        End Sub
    End Class
    non le esegue.. so che potrei fare qusto controllo nel corpo della classe, ma perchè non funziona? non dovrebbero essere eseguite nel mentre del caricamento del form?

    ciao

  2. #2
    può essere che il form non sia chiuso, quindi alla chiamata non esegua l'evento Load...! questo lo sai tu..
    Michele

  3. #3
    In che senso il form è ancora aperto?

    quando lancio il programma, l'evento load è il primo che viene eseguito (no?). Quindi prima di tutto, dovrebbe fare questo controllo (controllo inteso proprio come linee di codice if..then). In base alla scelta fatta, successivamente attiva tutti gli altri controlli (intesi come gli oggetti del form). Di fatti se metto un interruzione sul comando che assegna a "salvato" il valore della funzione direct cast, il debug mi si blocca li. Ma se vedo avanti, non entra nel if.. then..

    Perdonami, capisco che è frustrante cercare di capire qualcuno che cerca di spiegare qualcosa che non padroneggia. Ma giuro.. sto studiando.

  4. #4
    no, se si tratta dell'avvio progetto e l'evento hai detto che viene eseguito, allora cancella quanto detto...
    adesso non so cosa è cosa fà "salvato"...può essere che nell'evento load i controlli ancora non siano stati creati e quindi se tentiamo di modificare le proprietà del design, del form stesso e controlli, questi non potrebbero avere effetto....
    prova a spostare tutto il codice nell'evento Show (questo viene eseguito subito dopo il LOad e precisamente quanto tutto è stato creato) del form e controlla se cambia qualcosa
    Michele

  5. #5
    Grazie!!!

    Era la soluzione che cercavo.

    posto per completezza

    codice:
    public class form1
    
    ..
    ..
    
     Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles salva_ogg.Click
    
            Dim Formatter As New BinaryFormatter
            'Crea un nuovo file su cui salvare l'oggetto
            Dim File As New FileStream("cinema.dat", IO.FileMode.Create)
            Dim nom As New FileStream("nomecinema.dat", IO.FileMode.Create)
            Dim varbo As New FileStream("salvato.dat", FileMode.Create)
    
            salvato = True
            Try
                Formatter.Serialize(File, cinema)
                Formatter.Serialize(nom, cinema_name)
                Formatter.Serialize(varbo, salvato)
    
                MsgBox("salvato!")
            Catch ex As SerializationException
                MsgBox("non ci si riesce perchè.. " & ex.Message)
                Throw
            Finally
                File.Close()
                nom.Close()
                varbo.Close()
    
            End Try
    
    Public Sub carica_ult_config()
    
            Dim varbool As New FileStream("salvato.dat", FileMode.Open)
            Dim formatter As New BinaryFormatter
    
    
            Try
                salvato = DirectCast(formatter.Deserialize(varbool), Boolean)
    
            Catch ex As SerializationException
                varbool.Close()
                Exit Sub
            End Try
    
            MsgBox("vuoi caricare ultima configurazione?", 3)
            varbool.Close()
            cinema_name = ""
    
    
        End Sub
    
    
    
        Private Sub form1_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
            carica_ult_config()
        End Sub
    End Class
    Ps: forse si potrebbe cambiare il titolo del thread in: [VB 2010 win form] caricare file.dat in fase di apertura

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.