C# Windows窗口程序 类型初始值设定项引发异常 和 外部组件发生异常
FrmWorkInformation frmWorkInformation = null;
bool wOpen = CheckFormIsOpen("FrmWorkInformation");
if (!wOpen)
{
Application.DoEvents();
frmWorkInformation = new FrmWorkInformation(); //出错的行1531
frmWorkInformation.MdiParent = this;
//子窗口的动态显示在主窗口
frmWorkInformation.UpdateStatusLab = new FrmWorkInformation.updateStatusLab(UpdateStatusLab);
frmWorkInformation.WindowState = FormWindowState.Maximized;
frmWorkInformation.Show();
frmWorkInformation.Focus();
}
else
{
frmWorkInformation = (FrmWorkInformation)Application.OpenForms["FrmWorkInformation"];
frmWorkInformation.Show();
frmWorkInformation.Focus();
}
程序不定时会出现外部组件错误,用久就会容易出错。每次都是在生成一个新的窗口位置。
以下是新生成窗口代码,请各位大神帮忙看一下哪出错了。谢谢了。
public partial class FrmWorkInformation : Form
{
static string ModulePath = ""; //文件路径
DialogResult C_Sel;
string PCName = "";
//子窗口的动态显示在主窗口<<<
public delegate void updateStatusLab(string Status); //声明委托
public updateStatusLab UpdateStatusLab;
public ToolStripStatusLabel StatusLab = new ToolStripStatusLabel();
public void StatusLab_TextChanged(object sender, EventArgs e)
{
UpdateStatusLab(StatusLab.Text);
}
//子窗口的动态显示在主窗口>>>
public FrmWorkInformation()
{
InitializeComponent();
}
private void FrmWorkInformation_Load(object sender, EventArgs e)
{
//新增动态控件事件
StatusLab.TextChanged += new EventHandler(this.StatusLab_TextChanged);
ReadItemList();
ReadSetupData();
}
}
有关调用实时(JIT)调试而不是此对话框的详细信息,
请参见此消息的结尾。
************** 异常文本 **************
System.TypeInitializationException: “XSystem.WorkInformation”的类型初始值设定项引发异常。 ---> System.Runtime.InteropServices.SEHException: 外部组件发生异常。
在 XSystem.FrmWorkInformation..cctor()
--- 内部异常堆栈跟踪的结尾 ---
在 XSystem.FrmWorkInformation..ctor()
在 XSystem.FMain.TSMenu_WorkInformation_Click(Object sender, EventArgs e) 位置 c:\Users\Administrator\Documents\Visual Studio 2013\Projects\XSystem\ZD1版\XSystem\FMain.cs:行号 1531
在 System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
在 System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
在 System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
在 System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
在 System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
在 System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
在 System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
在 System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
在 System.Windows.Forms.ToolStrip.WndProc(Message& m)
在 System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** 已加载的程序集 **************
mscorlib
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.8669 (QFE.050727-8600)
基本代码: file:///C:/Windows/Microsoft.NET/Framework/v2.0.50727/mscorlib.dll