Я конвертирую приложение из VB.NET в C# в приложениях WinForms.Необработанное исключение типа «System.StackOverflowException» произошло в WTApp
Проблема возникла, когда я понял, что вы не можете получить доступ к другим формам непосредственно, как вы можете в VB.NET, например:
Public Class frmMain
Private Sub Preferences_Click(sender...
frmPreferences.Show()
End Sub
End Class
Так что я был смотреть онлайн и казалось, что я должен был объявить ссылку на форму, прежде чем я смогу изменить значения своих элементов управления. Итак:
У меня теперь есть две отдельные формы. Один названный frmPreferences
, который выглядит, как это без дополнительных битов кода:
public partial class frmPreferences : Form
{
frmMain frmMain = new frmMain();
}
И другой, frmMain
, просто объявляя другую форму:
public partial class frmMain : Form
{
frmPreferences frmPreferences = new frmPreferences();
}
Стек вызовов показывает:
WTAppCSharp.exe! WTAppCSharp.frmMain.frmMain() Строка 17 C#
WTAppCSharp.exe! WTAppCSharp.frmPreferences.frmPrefere NCES() Строка 38 C#
WTAppCSharp.exe! WTAppCSharp.frmMain.frmMain() Строка 17 C#
WTAppCSharp.exe! WTAppCSharp.frmPreferences.frmPreferences() Строка 38 C#
....
I «м просто не знаю, как правильно ссылаться на формы, или, что я делаю неправильно :(
Надежда кто-то может помочь :)
удалить 'frmMain frmMain = новый frmMain()' 'от frmPreferences' конструктора – vmeln