簡體   English   中英

我該怎么做才能使我的代碼正常工作

[英]what can i do to make my code to work

我有 4 個錯誤,我正在處理我的保存按鈕,如果我能修復這些錯誤,它只會保存用戶想要的選定項目

這不是所有代碼,只是我遇到問題的代碼。 該程序適用於冰淇淋應用程序,帶有 2 個組合框和 3 個復選框

我在我有錯誤的地方放了注釋行

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


    }

這是我的第四個錯誤

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

在 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 是一個文本框,因此通過執行 if(flavorbox) 您正在檢查 flavorbox 是否等於 true 或 false。 這是一個文本框,所以這是不可能的。 您可能只需要更改風味盒即可。 請嘗試以下操作:

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

1.關於

if(flavorBox)

你在檢查什么?

有關:

else(syrupBox)else(syrupBox) else(Cherries.Checked)

你不能做else(something) 你可以做else if(something)因為else是所有其他選項。 所以將它們更改為: else if(syrupBox)else if(Cherries.Checked)

2.關於取消:你想做什么?

當您在對話框中單擊 no 時,您想用e.cancel完成什么?

對於第四個錯誤,請注意EventArgs.Cancel是一個屬性,而不是一個方法。 去掉括號:

e.Cancel = true;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM