我有两个窗口
一个MainForm,一个是SettingBox
为什么我只要把SettingBox原本的
namespace Serial_Debug
{
public partial class SettingBox : Form
{
public SettingBox()
{
InitializeComponent();
}
}
}
改成
namespace Serial_Debug
{
public partial class SettingBox : Serial_Debug.MainForm
{
public SettingBox()
{
InitializeComponent();
}
}
}
一运行立马就死机,而且完全没办法结束,只能强制关机了。。
一个MainForm,一个是SettingBox
为什么我只要把SettingBox原本的
namespace Serial_Debug
{
public partial class SettingBox : Form
{
public SettingBox()
{
InitializeComponent();
}
}
}
改成
namespace Serial_Debug
{
public partial class SettingBox : Serial_Debug.MainForm
{
public SettingBox()
{
InitializeComponent();
}
}
}
一运行立马就死机,而且完全没办法结束,只能强制关机了。。
SettingBox settingBox = new SettingBox();
private void 端口设置ToolStripMenuItem_Click(object sender, EventArgs e)
{
settingBox.StartPosition = FormStartPosition.CenterParent;
settingBox.ShowDialog();
}
至少你不能再在主窗口里面用无参数的构造函数调用settingbox
否则settingbox的构造函数调用前试图创建主窗口的实例(继承关系),在主窗口中又调用settingbox构造函数,导致循环引用。
MainForm中的SettingBox settingBox = new SettingBox();
会调用SettingBox的构造函数,而你的SettingBox又是继承了MainForm,有会继续调用...这样就死循环了。