Visual Studio 2008, пункт раскрывающегося меню не работает - PullRequest
1 голос
/ 12 июня 2011

Я бью головой об стену, пытаясь понять это. У меня есть горизонтальное меню в моем графическом интерфейсе, и я помогаю helpMenuItem быть невидимым в течение нескольких минут. Я снова установил его на видимость, и теперь, когда я нахожу / нажимаю на helpMenuItem, он не отображает элементы выпадающего меню. Другие выпадающие пункты меню работают нормально, это единственный, который не отображает выпадающий список с соответствующим «userManualMenuItem» внутри.

Я пытался восстановить, очистить, закрыть и открыть визуальную студию, но это не помогло. Ниже приведен пример кнопки справки в моем меню и пункта раскрывающегося меню «Руководство пользователя», который не будет отображаться. Кроме того, 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 все еще не появлялся. Затем я удалил старый userManualMenuItem из GUI и переименовал новый в тот же «userManualMenuItem», и после повторного открытия программы он не появился. Кажется, проблема в самом элементе меню, а не в раскрывающемся меню справки ...

1 Ответ

0 голосов
/ 12 июня 2011

В приведенном выше фрагменте нет ничего странного. Я предлагаю добавить список событий для события VisibleChanged в свой userManualMenuItem, а затем установить точку останова, как только она будет достигнута, попытаться пройти через стек вызовов, чтобы найти строку кода, вызывающуюменю исчезнуть.

...