2016-03-31 14 views
0

彼らが書く文句を言わない私のチェックボックスの問題や負荷を持っています ナッツ さくらんぼ スプリンクルも、私はのStreamWriterとStreamReaderをは、私は3つのチェックボックスを持っている

を使用しています

iも2つのコンボボックスを持っている

と私は、私が知っている限り、チェックボックスの文章とアイデアの構文が正しい場合に、もし私がeleを使用していると私は使用しています。私のチェックボックスに読書をして、私に知らせてください) Eは、この作業を行うのが賢明構文は

これはIMに問題がWHERE THIS ISは私のLOADボタン//(私はデバッガでエラーを取得していないMEは、何らかの理由で

を教えてくださいすることができます切り抜いWAYする必要があります)

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

     } 

    } 

これはここで私は何かが欠けているされている必要がありTO MY保存]ボタン(AND IS)

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

    } 

これにより、ユーザはCをMAKE THEN保存したファイルを開くことができMY REVERTのボタンです。 HANGESこれは取得しようとしてコンボボックス

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

    } 

相続MY EXPEREMENTALのIDEA FOR MY INDEX IS

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

    } 

JUST [元に戻す]をクリックし、それがファイルを開くOUT RE WITH元のSAVEDファイルに移動します

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

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

最初のセクションでは、どの選択肢であっても 'sr.ReadLine();'を使用するので、選択を省略することができます。 (empyt) 'swの2番目のコードボックスにも同じことがあります。WriteLine(); 'アクション。同じ空の行を書き続けている場合、なぜ選択肢があるのですか?最後のボックスでは、真のときに何かを真に設定します。あなたはそれをする必要はありません。 – roadrunner66

+0

私はそれでも変わっていませんが、なぜ私のチェックボックスはファイルからの書き込みかファイルからの読み込みを行わないのですか? –

+0

'readline'を使うと、' Str a = sr.ReadLine() ' 'writeeline'を使うと' sw.Writeline( 'Strawberry');と書いておきたい文字列を渡さなければなりません; – roadrunner66

答えて

0

を動作するようにチェックBOX私はあなたが他の人の場合、一つだけOを使用する場合、通常はそれをすべて読んで、しかし、の場合、私はあなたが他の を使用している見ていない、私は何を参照してくださいあなたを教えてあげましょうこれらのステートメントは使用されます(最初のステートメントが真であれば、最初のステートメントのみが実行されますが、それ以外のプロシージャは実行されません)。

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

これは間違っている:また

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

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

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

、あなたが削除することができ、あなたが他に使用する必要があるのならば、あなたが他の使用時に

はすでに、その 構文賢い知っていた今ならばSprinkles.Checkedがtrueを返す場合は、(Sprinkles.Checked)がtrueの場合にのみtrueになり、trueの場合はtrueになります。他

if(..) 
{ 
} 
else 
{ 
} 

働くことができる唯一の2例があるので、チェックしている場合はtrueで、それは偽です:

このコード:

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

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

があるべきでは。 (真の場合 - > blablablaを行う、そうでない場合(false) - >何かをする)

+0

if私は、それが常に私にそのセミコロンが()の後にセミコロンを欲しがるエラーを与えるstatment場合は、他にはありません –

+0

@TJ else文の後には()がありません。それ以外の場合は何も指定する必要はありません。 – iamanoob

+0

その他スプリンクル。チェック済み { sr.ReadLine(); }はエラーを返します。予想される –

関連する問題