2017-05-21 3 views
0

Jedes Mal wenn ich meine Binärdatei speichere, dupliziert es den Inhalt, der in meiner Combobox ist.Jedes Mal wenn ich meine Binärdatei speichere dupliziert es die Informationen C#

ich damit beginnen: Start Updated

Dies ist, wie ich in Binär-Datei speichern:

try 
     { 
      // Escreve para ficheiro os empregados da empresa. 
      FileStream ficheiro = new FileStream("BinaryFile.dat", FileMode.Create); 
      //BinaryWriter fich = new BinaryWriter(ficheiro); 
      BinaryFormatter bf = new BinaryFormatter(); 
      bf.Serialize(ficheiro, ListasFilas.ListaMedico); 
      //bf.Serialize(ficheiro, ListasFilas.ListaTecnicosAtendimento); 
      //bf.Serialize(ficheiro, ListasFilas.ListaUrgencias); 
      //bf.Serialize(ficheiro, ListasFilas.ListaUtentes); 
      //bf.Serialize(ficheiro, ListasFilas.FilaAtAmarelo); 
      //bf.Serialize(ficheiro, ListasFilas.FilaAtendimento); 
      //bf.Serialize(ficheiro, ListasFilas.FilaAtRoxo); 
      //bf.Serialize(ficheiro, ListasFilas.FilaAtVerde); 
      //bf.Serialize(ficheiro, ListasFilas.FilaAtVermelho); 

      ficheiro.Close(); 
     } 
     catch (Exception err) 
     { 
      MessageBox.Show(err.Message); 
      MessageBox.Show(err.StackTrace); 
     } 

     MessageBox.Show("Guardado"); 

Und das ist, wie ich laden:

private void Form1_Load(object sender, EventArgs e) 
    { 

     try 
     { 
      // Carregar dados 
      FileStream ficheiro = File.Open("BinaryFile.dat", FileMode.Open); 
      BinaryFormatter bf = new BinaryFormatter(); 
      ListasFilas.ListaMedico = (List<Medico>)bf.Deserialize(ficheiro); 

      ficheiro.Close(); 

      // Criação de Médicos 
      Medico Medico1 = new Medico("Oftalmologia"); 
      Medico1.NumFuncionario = 1; 
      Medico1.Nome = "Razvan Almeida"; 
      Medico1.Telefone = 911506099; 
      Medico1.Email = "[email protected]"; 
      ListasFilas.ListaMedico.Add(Medico1); 

...

Was? es könnte sein? Vielen Dank!

  • Re-Auffüllen der Datenquelleneigenschaft des Kombinationsfeld mit den neuen Werten

  • +0

    Sie laden es nach dem Speichern und nicht die Kontrolle/Liste zuerst löschen? Debuggen Sie alle Punkte, an denen die Liste geladen oder hinzugefügt wird, und sehen Sie, warum. –

    Antwort

    0
    1. Nach Schaltfläche klicken reinitialisieren Feld den Wert der Combo (Taste speichern) durch den Nullwert an die Datenquelle Eigenschaft von Kombinationsfeld zuweisen
    Verwandte Themen