2011-06-12 2 views
1

저는 이것을 파악하려고 벽에 머리를 때리고 있습니다. 내 GUI에 가로 메뉴가 있고 몇 분 동안 보이지 않도록 helpMenuItem을 설정합니다. 다시 볼 수 있도록 설정했는데 helpMenuItem을 가리키거나 클릭하면 드롭 다운 메뉴 항목이 표시되지 않습니다. 다른 메뉴 항목 드롭 다운은 정상적으로 작동합니다.이 메뉴는 적절한 "userManualMenuItem"이있는 드롭 다운을 표시하지 않는 유일한 메뉴입니다.Visual Studio 2008 드롭 다운 메뉴 항목이 작동하지 않습니다.

Visual Studio를 다시 작성하고 정리하고 다시 열어 보았습니다. 도움이되지 않았습니다. 다음은 내 메뉴의 도움말 버튼과 표시되지 않는 드롭 다운 메뉴 항목 "사용 설명서"의 예입니다. 또한 Visual Studio는 해당 항목에 대한 코드를 생성했습니다.

도움 주셔서 감사합니다.


파일 | 편집 | 도움말
................ | 사용자 매뉴얼 |


 // 
     // 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을 같은 "userManualMenuItem"으로 변경했으며 프로그램을 다시 연 다음 표시하지 않았습니다. 도움말 메뉴 항목이 아니라 메뉴 항목 자체에 문제가있는 것 같습니다.

+0

메뉴 항목을 숨기거나 표시하는 데 사용할 코드를 표시 할 수 있습니까? –

+2

위의 코드에서 이상한 점은 없습니다. userManualMenuItem에서 VisibleChanged 이벤트에 대한 이벤트 리스너를 추가 한 다음 중단 점을 설정 한 후 호출 스택을 거쳐 메뉴의 원인이되는 코드 행을 찾으십시오 사라질 – Waleed

+0

발견. Visual Studio에서 생성 된 일부 잘못된 코드가 표시되는 필드의 상태를 변경하면 삭제되지 않았습니다. Waleed에게 감사드립니다. 답변을 귀하의 의견에 공식화하려면, 제 문제에 대한 해결책으로 기꺼이 받아 들여야합니다. – CODe

답변

0

위의 코드 조각에는 이상한 점이 없습니다. VisibleChanged 이벤트에 대한 이벤트 수신기를 추가하는 것이 좋습니다. userManualMenuItem을 실행 한 다음 중단 점을 설정하고 일단 도달하면 호출 스택을 거쳐 코드 줄이 사라져 메뉴가 사라집니다.