C# 我该怎么做才能使代码正常工作

C# 我该怎么做才能使代码正常工作,c#,checkbox,combobox,streamwriter,C#,Checkbox,Combobox,Streamwriter,我有4个错误,我在我的保存按钮工作,如果我可以得到这些修复它将只保存用户想要的选定项目 这不是所有的代码,只是我有问题的代码。这个程序是为和冰淇淋应用2组合框和3个复选框 我将注释行放在错误所在的位置 private void saveToolStripMenuItem_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); if (sfd.Show

我有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(Syrubox)
else(Cherries.Checked)

你不能做别的(事)。 如果(某事) 因为
else
是所有其他选项。 因此,将其更改为:
else if(Syrubox)
else if(Cherries.Checked)

2.关于取消: 你想干什么


当您在对话框中单击“否”时,您试图用
e.cancel
实现什么?

对于第四个错误,请注意
EventArgs.cancel
是一个属性,而不是一个方法。拆下支架:

e.Cancel = true;

if(flavorBox)
应该是什么意思?那就是我的ComboxComboBox的名称没有名称,它可能是变量的名称,不管怎样-你想用这个条件检查什么?你实际上在if语句中检查什么?如果选择了默认值以外的内容?我正在检查我的If语句,用户从调味盒和糖浆盒等中选择一种口味,然后保存用户选择的内容,并能够打开保存的文件,查看selecedflavor盒和syrupbox是什么组合框请查看此操作是否有效
If(flavorBox.SelectedItem!=null)
检查是否选择了某个值。是的,它起作用并消除了我的语法错误。=)。但我不能运行程序,直到我摆脱了其他2个错误=(当我查看已保存的文件时,它仍然在组合框中写入所有内容,甚至不触摸复选框。注意:padcancel仍然未对齐表示不包含定义是否缺少指令或程序集引用我收到错误FormClosingEventArgs e无重载)匹配委托事件处理程序