Ich bin eine App von VB.NET zu C# in WinForms-Anwendungen zu konvertieren.Eine nicht behandelte Ausnahme des Typs ‚System.StackOverflowException‘ aufgetreten in WTApp
Das Problem entstand, als ich erkennen, dass Sie nicht direkt andere Formen zugreifen können wie möglich in VB.NET zB:
Public Class frmMain
Private Sub Preferences_Click(sender...
frmPreferences.Show()
End Sub
End Class
So hatte ich einen Blick online und es schien, als ob ich ein erklären musste Verweis auf das Formular, bevor ich die Werte seiner Kontrollen ändern konnte. Also:
Ich habe jetzt zwei getrennte Formen. Ein frmPreferences
genannt, die ohne die zusätzlichen Bits von Code wie folgt aussieht:
public partial class frmPreferences : Form
{
frmMain frmMain = new frmMain();
}
und die anderen, frmMain
, nur die andere Form erklärt:
public partial class frmMain : Form
{
frmPreferences frmPreferences = new frmPreferences();
}
Der Call-Stack zeigt:
WTAppCSharp.exe! WTAppCSharp.frmMain.frmMain() Zeile 17 C#
WTAppCSharp.exe! WTAppCSharp.frmPreferences.frmPrefere nces() Linie 38 C#
WTAppCSharp.exe! WTAppCSharp.frmMain.frmMain() Zeile 17 C#
WTAppCSharp.exe! WTAppCSharp.frmPreferences.frmPreferences() Linie 38 C#
....
I bin nur nicht sicher, wie die Formulare korrekt zu verweisen, oder, was mache ich falsch :(
Hoffnung jemand helfen kann :)
entfernen 'frmMain frmMain = new frmMain();' 'von frmPreferences' Konstruktor – vmeln