У меня проблема с созданием MenuItems для TreeView динамически: вот (упрощенный) код, который я использую.
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.
Есть идеи?