C# 为什么我的MessageBox.Show会生成有关参数和重载的错误?

C# 为什么我的MessageBox.Show会生成有关参数和重载的错误?,c#,string,messagebox,C#,String,Messagebox,如何解决这两个错误 错误2参数2:无法从“System.Windows.Forms.MessageBoxButtons”转换为“string”C:\Users\LEVENT\Desktop\bilge adam\week1\u day3\WinBatanBank\WinBatanBank\Form1.cs 23 189 WinBatanBank 错误1“System.Windows.Forms.MessageBox.Show(string,string)”的最佳重载方法匹配具有一些无效参数C:\

如何解决这两个错误

错误2参数2:无法从“System.Windows.Forms.MessageBoxButtons”转换为“string”C:\Users\LEVENT\Desktop\bilge adam\week1\u day3\WinBatanBank\WinBatanBank\Form1.cs 23 189 WinBatanBank

错误1“System.Windows.Forms.MessageBox.Show(string,string)”的最佳重载方法匹配具有一些无效参数C:\Users\LEVENT\Desktop\bilge adam\week1_day3\WinBatanBank\WinBatanBank\Form1.cs 23 13 WinBatanBank

1和2)MessageBox没有(字符串、MessageBox按钮)的重载。您需要为(字符串文本、字符串标题、MessageBoxButtons)使用重载

具有相对较多的重载,但没有一个重载仅将
字符串
MessageBoxButtons
作为参数。您可以尝试使用包含2个
字符串
文本
标题
,后跟
MessageBox按钮

MessageBox.Show("Display Text Here", "Box Title Here", MessageBoxButtons.YesNo);

您使用了错误的参数数量/组合

尝试添加messagebox标题:

private void btnKaydet_Click(object sender, EventArgs e)
{
    MessageBox.Show(
        " Sayin " +txtAdi.Text + txtSoyadi.Text + "  "+ "Kredi Miktari=" + txtMiktar.Text.ToString()+"TL" + Environment.NewLine + "Aylik Odeme=" + nmrVade.Value+"TL", 
        "Some Caption", 
        MessageBoxButtons.YesNo);
}

让我们检查一下错误,看看它们是什么意思

错误2参数2:无法从“System.Windows.Forms.MessageBoxButtons”转换为“string”

这意味着函数需要类型为
string
的参数,但您提供了类型为
System.Windows.Forms.MessageBoxButtons
的参数。如果可以将参数转换为
字符串
,则不会出现此错误。因此,可以通过提供
字符串来解决此问题

错误1“System.Windows.Forms.MessageBox.Show(string,string)”的最佳重载方法匹配具有一些无效参数

这意味着您对函数的调用不正确。您可能会有多个错误,如第一个错误(其中多个参数不正确),您也会得到一个错误,如这一个。这意味着编译器认为您需要提供两个
string
参数,但似乎您还没有这样做

在VisualStudio中,当您键入代码时,通常会看到一个包含建议的小框。这是智能感知功能。如果仔细阅读该框,您将看到下一个参数需要提供什么

另一个选择是查看官方文件。如果使用您喜爱的搜索引擎搜索msdn messagebox.show,您将很快找到指向的链接
它有一个重载列表,基本上是所有可能的参数组合的列表。查看名称或描述,找到您想要使用的名称或描述,或者找到与您当前尝试使用的名称或描述最相似的名称。

完全同意,但这是我的第一篇帖子,这就是为什么我无法管理它,对此表示歉意。旁注:您不认为这更易读吗
string msg=string.Format(“Sayin{0}{1}Kredi Miktari={2}”TL\nAylik Odeme={3}TL”,txtAdi.Text,txtoyadi.Text,txtMiktar.Text,nmrVade.Value)
private void btnKaydet_Click(object sender, EventArgs e)
{
    MessageBox.Show(
        " Sayin " +txtAdi.Text + txtSoyadi.Text + "  "+ "Kredi Miktari=" + txtMiktar.Text.ToString()+"TL" + Environment.NewLine + "Aylik Odeme=" + nmrVade.Value+"TL", 
        "Some Caption", 
        MessageBoxButtons.YesNo);
}
MessageBox.Show( " Sayin " +txtAdi.Text + txtSoyadi.Text + "  "+ "Kredi Miktari=" + txtMiktar.Text.ToString()+"TL" + Environment.NewLine + "Aylik Odeme=" + nmrVade.Value+"TL",
                 "messageBoxTitle",
                 MessageBoxButtons.YesNo);