2017-07-19 3 views
0
nicht möglich

Empfange ich dies in einem Meldungsfeld, verwende ich das MetroFramework in Versuch, ein Meldungsfeld anzuzeigen, jedoch erhalte ich diesen Fehler (CS1503).Konvertierung von "CodingStandardsImprovement.MainProgram.MainConversion" in "System.Windows.Forms.IWin32Window"

  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; 
       } 
      } 
+0

Ist Ihre Anwendung WPF? MetroFramework ist für WinForms. 'WPF! = WinForms'. Dies funktioniert auch nicht, wenn 'MainCoversion' kein Formular ist, daher der Fehler. Übergeben Sie stattdessen null. – TyCobb

+0

Die Anwendung ist auf WinForms, der Fix für das Ersetzen dieser am Anfang des Meldungsfelds mit 'Form.ActiveForm' anstelle von' this' – wila

Antwort

0

Fix:

ersetzen: MetroMessageBox.Show(this, "Please enter a integer.","Error", MessageBoxButtons.OK, MessageBoxIcon.Warning,100);

mit: MetroMessageBox.Show(Form.ActiveForm, "Please enter a integer.","Error", MessageBoxButtons.OK, MessageBoxIcon.Warning,100);

Dies behebt das Problem.

Verwandte Themen