C# 无法从';CodingStandardsImprovement.MainProgram.main转换';至';System.Windows.Forms.IWin32Window';
在消息框上接收到此消息时,我正在使用MetroFramework尝试显示消息框,但我收到此错误(CS1503) 修正: 替换: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
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;
}
}