0
我有一个问题,为TreeView动态创建MenuItems:这里是我使用的(简化)代码。关于Visual C#MenuItem:NullReference来自哪里?
public class CTMProvider
{
private CTM myObject;
//internal CTMManager manager;
//internal string IEEEAddress;
//internal System.Net.Endpoint endpoint;
public CTMProvider()
{
myObject = new CTM(this);
}
void Disconnect(object sender, EventArgs ea) {
//Function disconnects a tcp link
}
}
public class CTM : System.Windows.Forms.TreeNode
{
public CTM(CTMProvider provider)
{
//this.provider = provider;
//this.manager = provider.manager;
//this.IEEEAddress = provider.IEEEAddress;
//this.endpoint = provider.state._conn.RemoteEndPoint;
this.Text = String.Format("CTM: {0} {0}", IEEEAddress, ((System.Net.IPEndPoint)endpoint).ToString());
MenuItem meni = new MenuItem("Disconnect", new System.EventHandler(this.provider.Disconnect)));
this.ContextMenu.MenuItems.Add(meni); // <-----
}
}
该代码总是会触发一个NullReferenceException当我尝试和我的菜单项添加到列表的MenuItems。 任何想法?
stacktrace .....? – 2010-05-31 08:46:57
请发布*真实*代码。上面的代码不能编译。你的简化可以很好地掩盖真正的问题。哦,并删除'try' ...'catch',这是完全没有必要的。 – 2010-05-31 08:47:00
对不起,我试图在那里稍微简化一下。 – Thomas 2010-06-01 04:28:13