我对这段代码有疑问。你可以在这里找到所有的课程。
如果我启动应用程序并想打开一个新表单,我会收到此错误:
NullReferenceException : 对象引用未设置为对象的实例。
主应用程序设置为isMDIcontainer = true;
现在我在这部分代码中收到了错误:
private void PluginClick(object sender, EventArgs e)
{
ToolStripMenuItem menu = (ToolStripMenuItem)sender;
Plugin.PluginForm form = ((PluginInfo)menu.Tag).CreateInstance();
form.MdiParent = this; // Here is thrown the error
form.Show();
}
Plugin.PluginForm
只是一种扩展形式。这是CreateIstance()
方法:
public PluginForm CreateInstance()
{
if (!File.Exists(FileName))
return null;
Assembly ass = Assembly.LoadFile(FileName);
foreach (Type type in ass.GetTypes())
{
if (type.BaseType == typeof(PluginForm))
{
return (PluginForm)Activator.CreateInstance(type);
}
}
return null;
}
在同一个网站上,有人说这个错误可以通过这种方式解决:
您必须在界面中声明属性 system.window.form parentForm
但我不明白怎么做。