2017-05-21 42 views
0

每次我保存我的二進制文件時,它都會複製我的組合框中的內容。每次我保存我的二進制文件,它都會複製信息C#

我開始與此: Start Updated

這是我如何在二進制文件保存:

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

這也是我如何加載:

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

... 。

什麼它可能是?謝謝!

+0

您是否在保存之後加載它並且未先清除控件/列表?調試它加載的所有點或將其添加到列表中並查看原因。 –

回答

0
  1. 後點擊按鈕(保存按鈕)通過分配null值,以組合框的數據源屬性初始化組合框的值
  2. 重新填充組合框的新值
  3. 數據源屬性