2016-03-28 2 views
0

Моя программа должна позволять пользователю выбирать вкус icecreame и сиропа, используя (comboboxes) и выбирать три флажка, если они хотят орехи, вишни или брызги. КОТОРЫЙ РАБОТАЕТ К ЛУЧШИМ ИЗ МОНИТОРА KNOWLEGEКак makeStreamReader/Writer с флажками Сохранить выбранные элементы и открыть выбранные объекты

Другая часть Программы должна позволять пользователю сохранять заказ и открывать его позже, используя StreamReader/Writer (WHICH ISNT WORKING REALLY WELL I CANT GET IT WRITE DOWN ЧТО ОТДЕЛЬНЫЕ ИЗ ДВУХ COMBO ЯЩИКОВ и флажков DONT ПИШИТЕ ЯВНО SAMETHING с Открытым открывается лишь, если я изменю ИНДЕКС НОМЕР ПОСЛЕ РАВНО)

private void saveToolStripMenuItem_Click(object sender, EventArgs e) 
    //THIS IS MY SAVE BUTTON USING STREAMWRITER 
//flavorBox is the Name of the comboBox that holds 3 flavors of iceCream 
//syrupBox is the name of the comboBox that holds 3 syrupFlavors inside the combobox 
// my check boxes for the toppings are the IF else if else statments 
    { 
     SaveFileDialog sfd = new SaveFileDialog(); 

     if (sfd.ShowDialog() == DialogResult.OK) 
     { 
      StreamWriter sw = new StreamWriter(
              new FileStream(sfd.FileName, 
                  FileMode.Create, 
                  FileAccess.Write) 
                  ); 
      if (!String.IsNullOrEmpty(syrupBox.Text)) 
      { 
       sw.WriteLine(flavorBox.SelectedItem); 
      } 

      else if (!String.IsNullOrEmpty(syrupBox.Text)) 
      { 
       sw.WriteLine(flavorBox.SelectedItem); 
      } 

      else if (Nuts.Checked) 
      { 
       this.Tag = "checked"; 
       sw.WriteLine(Nuts); 


      } 
      else if (Cherries.Checked) 
      { 
       this.Tag = "checked"; 
       sw.WriteLine(Cherries); 

      } 
      else if(Sprinkles.Checked) 
      { 
       this.Tag = "checked"; 
       sw.WriteLine(Sprinkles); 

      } 
      sw.Close(); 
     } 


    } 

private void openToolStripMenuItem_Click(object sender, EventArgs e) 
//THIS IS MY OPEN METHOD WHERE IT IS SUPPOSED TO DISPLAY EVERYTHING THAT USE SAVED 
    { 
     OpenFileDialog ots = new OpenFileDialog(); 

     if (ots.ShowDialog() == DialogResult.OK) 
     { 
      StreamReader sr = new StreamReader(
              new FileStream(ots.FileName, 
              FileMode.Open, 
              FileAccess.ReadWrite) 
              ); 
      String items; 
// I tried coping my if else if statements for the save streamREader thinking that would work it doesn't DUH. I'm out of IDEAS for this COULD USE SOME HELP WITH THIS 
      while (!sr.EndOfStream) 
      { 
       items = sr.ReadLine(); 
       flavorBox.Items.Add(items); 
       syrupBox.Items.Add(items); 

       if (Nuts.Checked) 
       { 
        this.Tag = "checked"; 
       sw.WriteLine(Nuts); 


       } 
       else if (Cherries.Checked) 
       { 
        this.Tag = "checked"; 
       sw.WriteLine(Cherries); 

       } 
       else if (Sprinkles.Checked) 
       { 
        this.Tag = "checked"; 


       } 

      } 
      flavorBox.SelectedIndex = 1; 
      syrupBox.SelectedIndex = 1; 

      sr.Close(); 
     } 
    } 

ответ

0

Первые вещи первые. А если я интерпретировать ваш CapsLock правильно, то Я бы посоветовал тебе успокоиться. Никогда не будет легко найти ошибки, если вы находитесь в режиме ярости.

Я предполагаю, что большая часть вашей проблемы могут быть следующие строки:

if (!String.IsNullOrEmpty(syrupBox.Text)) 
{ 
    sw.WriteLine(flavorBox.SelectedItem); 
} 
else if (!String.IsNullOrEmpty(syrupBox.Text)) 
{ 
    sw.WriteLine(flavorBox.SelectedItem); 
} 

Вы проверяете два раза для syrupBox.Text и всегда использовать flavorBox.SelectedItem. Я думаю, что у вас есть syrupBox и flavorBox.

Смежные вопросы