2010-09-27 84 views
1

當創建一個新項目時,我希望這個項目從下拉菜單中變爲可用。我創建,工作的第一個項目,作爲菜單項以及下拉項目放置,但是當我嘗試添加下一個下拉項目時,它會崩潰並告訴我「對象引用未設置爲對象的實例」。c#:我如何在運行時添加下拉菜單項

此行創建異常: 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); 
} 

回答

0

ToolStripMenuItem ProjectToolStripMenuItem = null;

應該在方法之外聲明。不便之處,敬請原諒。

/托馬斯

0

你ProjectToolStripMenuItem設置爲null,它僅被分配一個值,如果projects.Count等於零。這就是爲什麼你得到第二個項目的空引用異常。由於projects.Count不爲零,因此ProjectToolStripMenuItem永遠不會被分配。

相關問題