CS7036 C#没有给出与c#所需形式参数相对应的参数

时间:2019-02-06 14:04:26

标签: c# parameters arguments

我创建了bool dropIndexes来使ladujZBazy无效,并且创建了if(dropIndexes),因为当我在checkedListBox1中检查列表中的项目并使用textBox1搜索某些项目时,我以前的检查已经消失了。

我有一个问题,没有为“ dbopakowania.ladujZBazy(字符串,布尔值)”的“ dropIndexes”形式参数给出参数。

   namespace Email_Sender
      {
    public partial class dbopakowania : Form
{
    EmailSender emailsender;
    public List<List<string>> listOpakowaniaTabela = 
    new List<List<string>>();
    public string doZamowienia = "";
    List<int> indexes = new List<int>();
    string typZgloszenia;

    public dbopakowania(EmailSender _emailsender, string _typZgloszenia)
    {
        InitializeComponent();
        this.emailsender = _emailsender;                        
        this.typZgloszenia = _typZgloszenia;

        if (typZgloszenia == "ZWROT")
       {
           label1.Text = "Zwróć opakowania:";
           btnGetItem.Text = "Zwróć";
           this.emailsender.txt_subject.Text = "Zwrot opakowań";
        }
        else if(typZgloszenia == "ZAMOWIENIE")
        {
            label1.Text = "Zamów opakowania:";
            btnGetItem.Text = "Zamów";
            this.emailsender.txt_subject.Text = "Zamówienie opakowań";
        }
    }

    private void dbopakowania_Load(object sender, EventArgs e)
    {
       ladujZBazy(null);

    }

    private void button2_Click(object sender, EventArgs e)
    {
        if (label1.Text == "Zamów opakowania:")
        {
            for (int i = 0; i < checkedListBox1.Items.Count; i++)
            {
                if (checkedListBox1.GetItemCheckState(i) == CheckState.Checked)
                {
                    AddValueToZamówienieOpakowan oknoZamowieniaOpakowania_Szczegoly = new AddValueToZamówienieOpakowan(this, indexes[i]);
                    oknoZamowieniaOpakowania_Szczegoly.ShowDialog();

                    if (doZamowienia != "")
                    {
                        this.emailsender.pozycja++;
                        this.emailsender.txt_msg.Text += emailsender.pozycja.ToString() + "." + " " + doZamowienia;
                        //this.emailsender.txt_subject.Clear();
                        //this.emailsender.txt_subject.Text = "Zamówienie opakowań";
                    }
                }
            }
            this.Close();
        }
        else if (label1.Text == "Zwróć opakowania:")
        {
            for (int i = 0; i < checkedListBox1.Items.Count; i++)
            {
                if (checkedListBox1.GetItemCheckState(i) == CheckState.Checked)
                {
                    ZwrotOpakowan oknoZamowieniaOpakowania_Szczegoly = new ZwrotOpakowan(this, indexes[i]);
                    oknoZamowieniaOpakowania_Szczegoly.ShowDialog();

                    if (doZamowienia != "")
                    {
                        this.emailsender.pozycja++;
                        this.emailsender.txt_msg.Text += emailsender.pozycja.ToString() + "." + " " + doZamowienia;
                        //this.emailsender.txt_subject.Clear();
                        //this.emailsender.txt_subject.Text = "Zamówienie opakowań";
                    }
                }
            }
            this.Close();
        }
        else
        {
            MessageBox.Show("Nieoczekiwany Błąd - skontaktuj sie z Sewerynem", "Błąd", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }

    }

    private void btn_close_Click(object sender, EventArgs e)
    {
        this.Close();
    }

    void ladujZBazy(string mustContains, bool dropIndexes) 
    {
        if (dropIndexes)
        {
            checkedListBox1.Items.Clear();
            listOpakowaniaTabela.Clear();
            indexes.Clear();
        }

        bazaproduktowDBEntities dc = new bazaproduktowDBEntities();

        var c1 = from d in dc.OpakowaniaTabela select d.NazwaOpakowania;
        var c2 = from d in dc.OpakowaniaTabela select "(" + d.PartiaOpakowania + ")";
        var c3 = from d in dc.OpakowaniaTabela select d.IloscOpakowania;
        var c4 = from d in dc.OpakowaniaTabela select d.JednostkaOpakowania;

        listOpakowaniaTabela.Add(c1.ToList());
        listOpakowaniaTabela.Add(c2.ToList());
        listOpakowaniaTabela.Add(c3.ToList());
        listOpakowaniaTabela.Add(c4.ToList());

        for (int i = 0; i < listOpakowaniaTabela[0].Count; i++)
        {
            string strToAdd = "";
            for (int j = 0; j < listOpakowaniaTabela.Count; j++)
            {
                strToAdd += " " + listOpakowaniaTabela[j][i] + " ";
            }
            if (mustContains == null)
            {
                checkedListBox1.Items.Add(strToAdd);
                indexes.Add(i);
            }
            else if (strToAdd.ToLower().Contains(mustContains.ToLower()))
            {
                checkedListBox1.Items.Add(strToAdd);
                indexes.Add(i);
            }
        }
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        ladujZBazy(textBox1.Text, true); //false
    }
}

}

1 个答案:

答案 0 :(得分:1)

您的方法需要两个参数:

void ladujZBazy(string mustContains, bool dropIndexes)

但是您要传递一个参数:

ladujZBazy(null);

要么传递第二个参数,例如:

ladujZBazy(null, false);

或在参数列表中设置default value以使其可选:

void ladujZBazy(string mustContains, bool dropIndexes = false)