このコードに問題があります。すべてのクラスhereが見つかります。主なアプリケーションはisMDIcontainer = true;
WinformアプリケーションのMDIparentオブジェクト参照がオブジェクトのインスタンスに設定されていません
私は、コードのこの部分でエラーを受信に設定されている
NullReferenceException : Object reference not set to an instance of an object.
:私は、アプリケーションを起動し、私は新しいフォームを開く場合
は、私はこのエラーが表示されます。
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;
}
同じsebsite誰かにこのエラーは、この方法で解決することができることができると述べている:
You must declare property system.window.form parentForm in interface
が、私はどのように理解していませんでした。
はい、問題は既にインストールされているプラグインであり、パスが私と異なっていたことです。 – Jasper