2011-06-12 136 views
1

我在靠牆試圖弄清楚這一點,我在我的GUI上有一個水平菜單,並將helpMenuItem設置爲隱藏幾分鐘。我將它設置爲可見,現在,當我懸停/單擊helpMenuItem時,它不顯示下拉菜單項。其他菜單項下降工作正常,這是唯一不會顯示下拉與相應的「userManualMenuItem」裏面。Visual Studio 2008,下拉菜單項不能正常工作

我試過重建,清理和關閉並重新打開視覺工作室,那些沒有幫助。以下是我的菜單中的幫助按鈕和下拉菜單項「用戶手冊」的示例,不會顯示。此外,視覺工作室爲有問題的物品生成代碼。

感謝您的任何幫助。


文件|編輯|幫助
................ |用戶手冊|


 // 
     // helpMenuItem 
     // 
     this.helpMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { 
      this.userManualMenuItem}); 
     this.helpMenuItem.Name = "helpMenuItem"; 
     this.helpMenuItem.Size = new System.Drawing.Size(44, 20); 
     this.helpMenuItem.Text = "Help"; 
     // 
     // userManualMenuItem 
     // 
     this.userManualMenuItem.Name = "userManualMenuItem"; 
     this.userManualMenuItem.Size = new System.Drawing.Size(152, 22); 
     this.userManualMenuItem.Text = "User Manual"; 
     this.userManualMenuItem.Click += new System.EventHandler(this.userManualMenuItem_Click); 
     // 
     // menu 
     // 
     this.menu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { 
      this.fileMenuItem, 
      this.setupMenuItem, 
      this.subcontractorsMenuItem, 
      this.reportsMenuItem, 
      this.windowMenuItem, 
      this.helpMenuItem}); 
     this.menu.Location = new System.Drawing.Point(0, 0); 
     this.menu.Name = "menu"; 
     this.menu.Size = new System.Drawing.Size(714, 24); 
     this.menu.TabIndex = 4; 
     this.menu.Text = "menu"; 

編輯:我在helpMenuItem提出另一個菜單項,並出現了,當我跑的程序。然而,其他的「userManualMenuItem」仍然沒有出現。然後,我從GUI中刪除了舊的userManualMenuItem,並將新的名稱重命名爲相同的「userManualMenuItem」,並且在再次打開該程序後,它未顯示出來。似乎菜單項本身有問題,而不是幫助下拉菜單項...

+0

你可以顯示你用來隱藏/顯示菜單項的代碼嗎? – 2011-06-12 01:06:39

+2

在上面的代碼片段中沒有什麼奇怪的,我建議你爲userManualMenuItem上的VisibleChanged事件添加一個事件列表器,然後設置一個斷點,一旦到達,嘗試遍歷調用堆棧以找到導致菜單的代碼行消失 – Waleed 2011-06-12 01:09:14

+0

找到它。由於某些原因,Visual Studio生成的一些雜散代碼在我更改可見字段的狀態時未刪除。感謝Waleed的提示。如果您想將您的評論寫入答案,我很樂意接受它作爲解決我的問題的方法。 – CODe 2011-06-12 01:12:22

回答

0

上面的代碼片段中沒有什麼奇怪的,我建議你爲你的VisibleChanged事件添加一個事件列表器userManualMenuItem,然後設置一箇中斷點,一旦到達,嘗試遍歷調用堆棧以查找導致菜單消失的代碼行。