2016-03-25 3 views
-3

у меня есть 4 ошибки и им работать на моей кнопке сохранить, если я мог бы получить эти фиксированное это будет только сохранить выбранные элементы, которые пользователь хочет, что я могу сделать, чтобы мой код, чтобы работать

ЭТО НЕ все код только код, с которым им проблемы. эта программа предназначена для и применения мороженного с 2 комбо-боксами и 3 флажками

Я Бип КОММЕНТАРИИ ЛИНИИ, где я Ошибка AT

private void saveToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     SaveFileDialog sfd = new SaveFileDialog(); 

     if (sfd.ShowDialog() == DialogResult.OK) 
     { 
      StreamWriter sw = new StreamWriter(
              new FileStream(sfd.FileName, 
                  FileMode.Create, 
                  FileAccess.Write) 
                  ); 
      if(flavorBox) // i have an error right here (Cannot implicitly convert type 'System.Windows.Forms.ComboBox' to 'boolean) 

      { 
       sw.WriteLine(flavorBox.SelectedItem); 

      } 
      else(syrupBox) //syays i need semecolons right here for some reason 
      { 
       sw.WriteLine(syrupBox.SelectedItem); 


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

      } 
      else(Cherries.Checked) //says i need semicolons here to i dont know why 
      { 
       this.Tag = "checked"; 
       sw.WriteLine(Cherries); 

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


    } 

ЭТО МОЕЙ 4TH ОШИБКИ

 private void closeToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     DialogResult result = MessageBox.Show("Are you sure you want to send the data back?", 
      "Data Sender", 
      MessageBoxButtons.YesNo, 
      MessageBoxIcon.Warning); 



     if (result == DialogResult.No) 
     { 
      e.Cancel() = true; //ITS ASKED ME AM I MISSING A DIRECTIVE OR ASSEMBLY REFRENCE (FOR CANCEL) 
     } 
+0

какой 'if (flavorBox)' должен означать? –

+0

Это имя моего combox –

+0

comboboxes не имеет имен, это может быть имя вашей переменной, так или иначе - что вы хотите проверить с помощью этого условия? –

ответ

2

В if-else только if должно иметь условие, а else - нет. Используйте оператор else if для явного определения условия.

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

Flavorbox это текстовое поле, поэтому, делая если (flavorbox) вы проверяете, если flavorbox равно истинным или ложным. Это текстовое поле, так что это невозможно. Вам, вероятно, придется просто изменить ароматизатор. Попробуйте следующее:

if(!String.IsNullOrEmpty(flavorbox.Text)) { 
    sw.WriteLine(flavorBox.SelectedItem); 
} 
+0

коробка с ароматом и сиропная коробка - это поле со списком –

+0

Посмотрите, работает ли это 'if (flavorBox.SelectedItem! = Null)', чтобы проверить, было ли выбрано значение. –

+0

да, это сработало и избавилось от моих синтаксических ошибок. =). но я не могу запустить программу до тех пор, пока я не избавлюсь от других 2 ошибок = ( –

0

1. о

if(flavorBox) 

что вы проверить?

о:

else(syrupBox) и else(Cherries.Checked)

вы не можете сделать else(something). вы можете сделать else if(something) , потому что else - это все остальное. так изменить их: else if(syrupBox) и else if(Cherries.Checked)

2. о отмены: что вы пытаетесь сделать?

когда вы нажимаете «нет» в диалоговом окне, что вы пытаетесь выполнить с помощью e.cancel?

+0

отменить все еще не указано. содержать defintion, вы не указали директиву или сборку refrence –

+0

я получаю ошибку без перегрузки для FormClosingEventArgs e) соответствие обработчику событий делегата –

0

Для четвертой ошибки обратите внимание, что EventArgs.Cancel - это свойство, а не способ. Снять кронштейны:

e.Cancel = true; 
Смежные вопросы