簡體   English   中英

C#:如何在運行時添加下拉菜單項

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM