0

嗨,我是全新的,所以不要对我的菜鸟问题做出严厉的判断,

namespace Oef5_3_ShowIncome
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, EventArgs e)
        {
            int YearSalary = Convert.ToInt32(YearSalaryTextBox.Text);
            int numberOfYears = Convert.ToInt32(numberOfYearsTextBox.Text);
            ShowIncome(YearSalary, numberOfYears);
            MessageBox.Show("something something ", Convert.ToString(ShowIncome)));
        }

        private int ShowIncome(int lalala, int dadada)
        {
            int results = lalala * dadada;
            return results;
        }
    }
}

在... MessageBox.Show("某事" Convert.ToString(ShowIncome))); 我收到以下错误:windows.form.messagebox.show(string, string) 的最佳重载方法匹配有一些无效参数。

4

6 回答 6

2
private void Button_Click(object sender, EventArgs e)
{
    int YearSalary = Convert.ToInt32(YearSalaryTextBox.Text);
    int numberOfYears = Convert.ToInt32(numberOfYearsTextBox.Text);
    int showInCome = ShowIncome(YearSalary, numberOfYears);
    MessageBox.Show("something something ", showInCome.ToString()));
}
于 2012-11-06T18:44:10.997 回答
2

在这一行中,您正在调用该方法而不将结果保存到变量中

ShowIncome(YearSalary, numberOfYears);

你想做的是这个

int result = ShowIncome(YearSalary, numberOfYears);

然后将结果传递给消息框方法

MessageBox.Show("something something ", result.ToString()));
于 2012-11-06T18:48:14.367 回答
1
int YearSalary = Convert.ToInt32(YearSalaryTextBox.Text);
        int numberOfYears = Convert.ToInt32(numberOfYearsTextBox.Text);
        ShowIncome(YearSalary, numberOfYears);
        MessageBox.Show("something something ", Convert.ToString(ShowIncome(100000, 5).ToString())));

因为您在没有传递参数的情况下调用了该方法。

于 2012-11-06T18:47:41.990 回答
1

嗯,我相信你把解析器弄糊涂了,它不知道用 ShowIncome 作为参数做什么

private void Button_Click(object sender, EventArgs e)
        {
            int YearSalary = Convert.ToInt32(YearSalaryTextBox.Text);
            int numberOfYears = Convert.ToInt32(numberOfYearsTextBox.Text);
            int income = ShowIncome(YearSalary, numberOfYears);
            MessageBox.Show("something something ", Convert.ToString(income));
        }

或者

private void Button_Click(object sender, EventArgs e)
        {
            int YearSalary = Convert.ToInt32(YearSalaryTextBox.Text);
            int numberOfYears = Convert.ToInt32(numberOfYearsTextBox.Text);
            MessageBox.Show("something something ", Convert.ToString(ShowIncome(YearSalary, numberOfYears)));
        }
于 2012-11-06T18:59:06.967 回答
0

这是因为您没有将任何参数传递给 ShowIncome,因此您实际上是在尝试在方法组上调用 Convert.ToString。

于 2012-11-06T18:47:05.577 回答
0

大家好,我非常感谢你们,如果我再次遇到同样的错误,我学习了 2 种新方法如何绕过该错误,例如使用 ...result.ToString,甚至给出他们自己的论点作为结果。 tostring(1000,500);

但是,如果我创建一个变量,例如 int something = ShowIncome(YearSalary, numberOfYears); ,我已经看到了我的问题的解决方案。

MessageBox.Show("yay random words laalala " + Convert.ToString(something));

然后它以某种方式起作用,我希望我知道为什么

于 2012-11-06T19:05:25.273 回答