iは

2016-03-25 10 views
-3

をするためにコードを作るために何ができる私は、これらはそれだけで、これがすべてではないユーザーがiは

を望んで選択した項目が保存されます固定得ることができれば、私のボタンを救うに取り組ん4つのエラーとイムを持っています問題のあるコードだけをコード化してください。このプログラムは、2つのコンボボックスを使用してアプリケーションと3つのチェックボックス

私はエラーがある

Iパットコメント行用とアイスクリームです

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


    } 

ATこれは私の4TH ERRORで

 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

のコンボボックスには名前がありません。それはあなたの変数の名前かもしれません。とにかくこの条件で何を確認したいですか? –

答えて

2

IS ARE if-elseだけが条件を持っていて、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はテキストボックスなので、if(flavorbox)を実行することで、flavorboxがtrueまたはfalseと等しいかどうかを確認します。これはテキストボックスなので、これは不可能です。たぶん、フレーバーボックスを変更するだけです。次のことを試してみてください。

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

フレーバーボックスとシロップボックスはコンボボックスです –

+0

値が選択されているかどうかをチェックする 'if(flavorBox.SelectedItem!= null)' –

+0

はい、それは働いて、私の構文エラーを取り除きました。しかし、私は他の2つのエラー=( –

0

1.について

if(flavorBox) 

あなたは何をチェックしていますか?

について

:あなたがelse(something)を行うことはできません

else(syrupBox)else(Cherries.Checked)

else if(something) elseはこれ以外のオプションです。 そうにそれらを変更する約 else if(syrupBox)else if(Cherries.Checked)

2.キャンセル: あなたがやろうとしていますか?

ダイアログでnoをクリックすると、e.cancelで何を達成しようとしていますか?

+0

キャンセルはまだundelinedですあなたが指示またはアセンブリのrefrenceを欠いていますか? –

+0

エラーがFormClosingEventArgsのエラーオーバーロードなしe)match delegate event handler –

0

第4のエラーについては、EventArgs.Cancelはメソッドではなくプロパティであることに注意してください。ブラケットを外します。

e.Cancel = true; 
関連する問題