[英]c#: How do i add dropdown menu items at runtime
創建新項目時,我希望該項目從下拉列表中可用。 我創建,工作並作為菜單項和下拉菜單項放置的第一個項目,但是,當我嘗試添加下一個下拉菜單項時,它崩潰並告訴我“對象引用未設置為對象的實例”。
此行創建異常:ProjectToolStripMenuItem.DropDownItems.Add(newproject);
ArrayList projects = new ArrayList();
private void toolStripMenuItem1_Click(object sender, EventArgs e)
{
Project moldProject = new Project();
moldProject.ProjectName = "unnamed";
ToolStripMenuItem ProjectToolStripMenuItem = null;
if (projects.Count == 0)
{
ProjectToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
ProjectToolStripMenuItem.Name = "projectToolStripMenuItem";
ProjectToolStripMenuItem.Size = new System.Drawing.Size(44, 20);
ProjectToolStripMenuItem.Text = "unnamed*";
this.menuStrip1.Items.Add(ProjectToolStripMenuItem);
}
ToolStripMenuItem newproject = new System.Windows.Forms.ToolStripMenuItem();
string name = "aboutToolStripMenuItem" + (projects.Count + 1).ToString();
newproject.Name = name;
newproject.Size = new System.Drawing.Size(211, 22);
newproject.Text = "unnamed*";
ProjectToolStripMenuItem.DropDownItems.Add(newproject);
projects.Add(moldProject);
}
ToolStripMenuItem ProjectToolStripMenuItem = null;
應該已經在方法之外聲明了。 很抱歉給您帶來不便。
/托馬斯
您的ProjectToolStripMenuItem設置為null,並且僅在projects.Count等於零時才被分配一個值。 這就是為什么您為第二個項目獲得空引用異常的原因。 由於projects.Count不為零,因此永遠不會分配ProjectToolStripMenuItem。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.