C# 无法从';CodingStandardsImprovement.MainProgram.main转换';至';System.Windows.Forms.IWin32Window';

C# 无法从';CodingStandardsImprovement.MainProgram.main转换';至';System.Windows.Forms.IWin32Window';,c#,C#,在消息框上接收到此消息时,我正在使用MetroFramework尝试显示消息框,但我收到此错误(CS1503) 修正: 替换: MetroMessageBox.Show(这是“请输入一个整数”,“错误”,MessageBoxButtons.OK,MessageBoxIcon.Warning,100) 与: MetroMessageBox.Show(Form.ActiveForm,“请输入整数”,“错误”,MessageBoxButtons.OK,MessageBoxIcon.Warning,10

在消息框上接收到此消息时,我正在使用MetroFramework尝试显示消息框,但我收到此错误(CS1503)

修正:

替换:
MetroMessageBox.Show(这是“请输入一个整数”,“错误”,MessageBoxButtons.OK,MessageBoxIcon.Warning,100)

与:
MetroMessageBox.Show(Form.ActiveForm,“请输入整数”,“错误”,MessageBoxButtons.OK,MessageBoxIcon.Warning,100)


这解决了问题

你的申请是WPF吗?MetroFramework适用于WinForms<代码>WPF!=WinForms
。此外,如果
MainCoversion
不是表单,则这将不起作用,因此会出现错误。改为传递null。应用程序在WinForms上,对此的修复方法是在消息框的开头将其替换为
Form.ActiveForm
而不是
this
            while (true)
            {

                try
                {
                    Var.borrowAmountNumber = int.Parse(borrowAmount);
                    Var.loanLengthNumber = int.Parse(loanLength);
                    Var.interestRateNumber = float.Parse(interestRate);
                    Var.i = true;
                    break;
                }
                catch (Exception)
                {
                    MetroMessageBox.Show(this, "Please enter a integer.","Error", MessageBoxButtons.OK, MessageBoxIcon.Warning,100);

                    break;
                }
            }