2016-03-31 10 views
0

i 3 Kontrollkästchen haben Nüsse Kirschen SprinklesIch habe ein Problem mit meinem Kontrollkästchen sie schreiben oder Last würden nicht

ich bin mit Stream und Stream auch

i auch 2 Combobox haben und Ich benutze einen Index für diejenigen, die mit Writer/Reader arbeiten

aber meine Checkboxen werden nicht funktionieren, wenn ele wenn Statements für die Kontrollkästchen und im out of Ideen Syntax ist soweit ich weiß (wenn es einen anderen Weg gibt um meine Checkboxen zu lesen und zu schreiben, lass es mich wissen) E hat eine VERSCHIEDENE WEISE Syntax klug sein, um diese Arbeit zu machen MIR BITTE

ich aus irgendeinem Grund keine Fehler im Debugger erhalten wissen lässt, LET

THIS meine LOAD TASTE IST // (das ist, wo IM Problemen

)
private void openToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     StreamReader sr; 
     string strInput; 

     OpenFileDialog ofd = new OpenFileDialog(); 

     if (ofd.ShowDialog() == DialogResult.OK) 
     { 
      sr = new StreamReader(ofd.FileName); 

      strInput = sr.ReadLine(); 
      savedIndex = Convert.ToInt32(strInput); 
      flavorBox.SelectedIndex = savedIndex; 
      syrupBox.SelectedIndex = savedIndex; 


      if (Nuts.Checked == true) 
       { 

       sr.ReadLine(); 

       } 
      else if(Cherries.Checked == true) 
      { 
       sr.ReadLine(); 
      } 

      if(Sprinkles.Checked == true) 
      { 
       sr.ReadLine(); 
      } 
      sr.Close(); 

     } 

    } 

DIES IST MEIN SAVE-Taste (UND HIER ich etwas MÜSSEN fEHLT)

public partial class Form1 : Form 
{ 
    int savedIndex = 0; 

    public Form1() 
    { 
     //index for flavor of icecream 
     InitializeComponent(); 
     flavorBox.SelectedIndex = 0; 
     syrupBox.SelectedIndex = 0; 
     pictureBox1.Image = Properties.Resources.Vanilla; 
     //Nuts. 
    } 
    // my save fucntion 
    private void saveToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     StreamWriter sw; 

     SaveFileDialog sfd = new SaveFileDialog(); 

     if (sfd.ShowDialog() == DialogResult.OK) 
     { 
      sw = new StreamWriter(sfd.FileName); 
      savedIndex = flavorBox.SelectedIndex; 

      sw.WriteLine(flavorBox.SelectedIndex); 

      if (Nuts.Checked == true) 
      { 
       sw.WriteLine(); 

      } 
      else if (Cherries.Checked == true) 
      { 
       sw.WriteLine(); 
      } 

      else if(Sprinkles.Checked == true) 
      { 
       sw.WriteLine(); 
      } 

      sw.Close(); 
     } 

    } 

DIES IST MEIN REVERT KNOPF, WENN DIE USER MAKE A abgespeicherte Datei öffnen kann THEN C NDERUNGEN UND GERADE REVERT KLICKEN UND ES WIRD wieder in seine ursprüngliche abgespeicherte Datei GO MIT OUT RE Öffnen der Datei

private void revertToolStripMenuItem_Click(object sender, EventArgs e) 
    { 
     flavorBox.SelectedIndex = savedIndex; 
     syrupBox.SelectedIndex = savedIndex; 

    } 

THIS MY-Index für die Combo-Box IST

private void flavorBox_SelectedIndexChanged(object sender, EventArgs e) 
    { 
     int index = flavorBox.SelectedIndex; 

     if (index == 0) 
     { 
      pictureBox1.Image = Properties.Resources.Vanilla; 
     } 
     else if (index == 1) 
     { 
      pictureBox1.Image = Properties.Resources.Chocolate; 
     } 
     else if (index == 2) 
     { 
      pictureBox1.Image = Properties.Resources.strawberry; 
     } 

    } 

HERES MY EXPEREMENTAL IDEA VERSUCHT, ZU ERHALTEN dIE CHECKBOX ARBEITEN

private void Nuts_CheckedChanged(object sender, EventArgs e) 
    { 
     if(Nuts.Checked == true) 
     { 
      Nuts.Checked = true; 
     } 

     else if(Nuts.Checked != true) 
       { 
      //Nuts.unchecked() 
     } 
+0

Im ersten Abschnitt verwenden Sie 'sr.ReadLine();' egal welche Wahl, so dass Sie die Auswahl weglassen können. Gleiches in der 2. Code-Box für die (empyt) 'sw.WriteLine(); 'Aktionen. Wenn Sie dieselbe leere Zeile schreiben, warum sollten Sie eine Auswahl treffen? In der letzten Box setzen Sie etwas auf wahr, wenn es wahr ist. Du musst das nicht tun. – roadrunner66

+0

ich änderte das hilft immernoch nicht, warum imy Kontrollkästchen nicht aus einer Datei schreiben oder aus der Datei lesen –

+0

Wenn Sie eine 'readline' verwenden, weisen Sie die Ausgabe im Allgemeinen einer Variablen zu, die Sie wie in' Str a = verwenden sr.ReadLine() '. Wenn Sie eine 'writeline 'verwenden, müssen Sie ihr eine Zeichenfolge übergeben, die Sie schreiben möchten, wie in' sw.Writeline (' Strawberry '); ' – roadrunner66

Antwort

0

ich werde Ihnen sagen, was ich sehe, nicht gelesen haben es alle, aber ich sehe, Sie verwenden sonst, wenn die und in der Regel, wenn Sie sonst verwenden ist, wenn nur ein o f diese Aussagen werden verwendet (wenn der erste wahr ist, wird nur der erste gemacht, wenn nicht die anderen).

Nun, wenn Sie bereits wusste, dass, Syntax klug, wenn Sie sonst verwenden, wenn das, was Sie brauchen sonst zu verwenden:

if (..) 
{ 
} 
else if (..) 
{ 
} 
else 
{ 
} 

Das ist falsch:

  if (Nuts.Checked == true) 
      { 
       sw.WriteLine(); 

      } 
      else if (Cherries.Checked == true) 
      { 
       sw.WriteLine(); 
      } 

      else if(Sprinkles.Checked == true) 
      { 
       sw.WriteLine(); 
      } 

Auch können Sie entfernen "If Sprinkles.Checked" gibt "true" = "true" aus Ihren Aussagen zurück. Wenn "Sprinkles.Checked" den Wert "true" zurückgibt, müssen Sie es nicht mit "true" vergleichen, um zu wissen, ob es wahr ist, wenn (Sprinkles.Checked) nur funktioniert.

Dieser Code:

if(Nuts.Checked == true) 
     { 
      Nuts.Checked = true; 
     } 

     else if(Nuts.Checked != true) 
       { 
      //Nuts.unchecked() 
     } 

sollte sein:

if(..) 
{ 
} 
else 
{ 
} 

Da es nur zwei Fälle, die arbeiten können, wird geprüft, ob wahr ist, sonst ist es falsch. (wenn wahr -> tu blablabla, sonst (es ist falsch) -> tu etwas anderes).

+0

if Ich habe kein anderes, wenn die Anweisung immer mir den Fehler gibt, dass es ein Semikolon nach dem() –

+0

@TJ will Es gibt no() nach einer else-Anweisung, es ist einfach nichts anderes, nichts zu spezifizieren. – iamanoob

+0

sonst Sprinkles.Checked { sr.ReadLine(); } gibt Fehler; erwartet –