2016-03-25 3 views
-3

ich habe 4 Fehler und im auf meiner speichern Taste funktioniert, wenn ich es nur diese repariert könnte, wird die ausgewählten Elemente speichern, die der Benutzer wünschtwas kann ich tun, um meinen Code zu machen arbeitet

All dies ist nicht das Code nur den Code, mit dem ich Probleme habe. Dieses Programm ist für und Eis-Anwendung mit 2 Combo-Boxen und 3 Kontrollkästchen

I PUTT KOMMENTAR Linien, wo ich die Fehler AT In

 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

was 'if (flavorBox)' sollte bedeuten? –

+0

das ist der Name meiner Combox –

+0

Comboboxen hat keine Namen, es könnte sowieso der Name Ihrer Variablen sein - was wollen Sie mit dieser Bedingung überprüfen? –

Antwort

2

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


    } 

THIS IS MY 4TH ERROR sind, haben ein wenn-sonst sollte nur das if eine Bedingung haben, und das else sollte nicht. Verwenden Sie eine else if-Anweisung, um eine Bedingung explizit zu definieren.

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 ist eine Textbox, so, indem Sie if (flavorbox) Sie überprüfen, ob flavorbox gleich wahr oder falsch ist. Es ist ein Textfeld, das ist nicht möglich. Sie müssen wahrscheinlich nur die Flavox ändern. Versuchen Sie Folgendes:

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

Flavour Box und sirupbox sind Comboboxen –

+0

Sehen Sie, ob das funktioniert 'if (faceBox.SelectedItem! = Null)' um zu prüfen, ob ein Wert ausgewählt wurde. –

+0

ja es hat funktioniert und meine Syntaxfehler beseitigt. =). aber ich kann das Programm nicht laufen lassen, bis ich die anderen 2 Fehler loswerde = ( –

0

1. über

if(flavorBox) 

was Überprüfung Sie?

über:

else(syrupBox) und else(Cherries.Checked)

Sie können else(something) nicht tun. können Sie else if(something) tun, weil else der Rest der Optionen ist. so ändern sie: else if(syrupBox) und else if(Cherries.Checked)

2. über die Aufhebungs: was wollen Sie tun? Wenn Sie im Dialogfeld auf Nein klicken, was möchten Sie mit der e.cancel erreichen?

+0

Abbruch ist immer noch undefined sagt nicht contain definition fehlt eine Direktive oder eine Assembly refrence –

+0

ich bekomme den Fehler no overload für FormClosingEventArgs e) Match Delegate Event Handler –

0

Für den vierten Fehler, beachten Sie, dass EventArgs.Cancel eine Eigenschaft, keine Methode ist. Entfernen Sie die Klammern:

e.Cancel = true;