CORRECÇÃO: Quando clica num menu de janela maximizada MDI subordinado, o menu adjacentes aparece

Traduções de Artigos Traduções de Artigos
Artigo: 322171 - Ver produtos para os quais este artigo se aplica.
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Se um documento de múltiplos (MDI) da interface está maximizado formulário subordinado com menus e a propriedade MdiList estiver definida como true , quando clica num MenuItem , aparece o pendente MenuItem junto a ele.

Resolução

Informações sobre patches cumulativos

Para resolver este problema, obtenha Post-Service Pack 2 .NET Framework System.data os pacotes de correcções WinForms. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
328535INFO: Post-Service Pack 2 .NET Framework System.data e pacotes de correcções WinForms

Informações sobre a correcção

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do .NET Framework que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota : em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos de suporte normais se aplicarão perguntas de suporte adicionais e problemas que não se enquadrem na atualização específica em questão.

A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date          Time    Version        Size        File name
   -------------------------------------------------------------------------
   02-May-2002   19:48   1.0.3705.269   1,982,464   System.windows.forms.dll  
   02-May-2002   10:05                     16,696   System.windows.forms.ldo
   02-May-2002   10:00   1.0.3705.269      57,344   System.windows.forms.tlb
				

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados no início deste artigo.

Mais Informação

Passos para reproduzir o comportamento

Os passos seguintes utilizam Visual C# como exemplo. Código semelhante no Visual Basic demonstra o mesmo problema.
  1. Inicie uma nova aplicação do Windows em Visual C# Projects .
  2. Abra o código de Form1.cs e, em seguida, substituir o conteúdo existente com o código de exemplo a seguir:
    namespace MDIMenu
    {
    	using System;
    	using System.ComponentModel;
    	using System.Drawing;
    	using System.Windows.Forms;
    
    	public class MainForm : System.Windows.Forms.Form 
    	{
    		/// <summary>
    		///    Required designer variable.
    		/// </summary>
    		private System.ComponentModel.Container components;
    		private System.Windows.Forms.MainMenu mainMenu;
    
    		public MainForm() 
    		{
    			// 
    			// Required for Windows Form Designer support
    			// 
    			InitializeComponent();
    
    			//Setup MDI stuff
    			this.IsMdiContainer = true;
    
    			//Add Window Menu
    			MenuItem miWindow = mainMenu.MenuItems.Add("&Window");
    			miWindow.MenuItems.Add("&Cascade");
    			miWindow.MenuItems.Add("Tile &Horizontal");
    			miWindow.MenuItems.Add("Tile &Vertical");
    			miWindow.MdiList = true ;
    			// Adds the MDI Window List to the bottom of the menu.
    
    			//Add Help Menu
    			MenuItem miHelp = mainMenu.MenuItems.Add("&Help");
    			miHelp.MergeType = MenuMerge.MergeItems;
    			miHelp.MergeOrder=0;
    			miHelp.MenuItems.Add("&About");
    
    			Document doc = new Document();
    			doc.MdiParent = this;
    			doc.Show();
    		}
    
    		/// <summary>
    		///    Clean up any resources being used.
    		/// </summary>
    		protected override void Dispose(bool disposing)
    		{
    			if (disposing) 
    			{
    				if (components != null) 
    				{
    					components.Dispose();
    				}
    			}
    			base.Dispose(disposing);
    		}
    
    
    		/// <summary>
    		///    Required method for Designer support - do not modify
    		///    the contents of this method with the code editor.
    		/// </summary>
    		protected void InitializeComponent()
    		{
    			this.components = new System.ComponentModel.Container ();
    			this.mainMenu = new System.Windows.Forms.MainMenu ();
    			this.Text = "MDI Menu Bug";
    			this.AutoScaleBaseSize = new System.Drawing.Size (5, 13);
    			this.Menu = this.mainMenu;
    			this.ClientSize = new System.Drawing.Size (450, 200);
    		}
    
    		/// <summary>
    		/// The main entry point for the application.
    		/// </summary>
    		[STAThread]
    		public static void Main(string[] args) 
    		{
    			Application.Run(new MainForm());
    		}
    
    	}
    }
    					
  3. Adicione um Novo formulário de Windows no projecto. No novo formulário, substitua o código existente com o seguinte código de exemplo:
    namespace MDIMenu 
    {
    	using System;
    	using System.ComponentModel;
    	using System.Drawing;
    	using System.Drawing.Text;
    	using System.Windows.Forms;
    
    	public class Document : System.Windows.Forms.Form 
    	{
    		/// <summary>
    		///    Required designer variable.
    		/// </summary>
    		private System.ComponentModel.Container components;
    		private System.Windows.Forms.MainMenu mainMenu;
    
    		public Document() : base() 
    		{
    			// 
    			// Required for Windows Form Designer support.
    			// 
    			InitializeComponent();
    
    
    			//Add File Menu
    			MenuItem miHelp = mainMenu.MenuItems.Add("&Help");
    			miHelp.MergeType = MenuMerge.MergeItems;
    			miHelp.MergeOrder=0;
    			miHelp.MenuItems.Add("This Child Menu 
                                              should not appear when clicked on Window menu");
    		}
    
    		/// <summary>
    		///    Clean up any resources being used.
    		/// </summary>
    		protected override void Dispose(bool disposing)
    		{
    			if (disposing) 
    			{
    				if (components != null) 
    				{
    					components.Dispose();
    				}
    			}
    			base.Dispose(disposing);
    		}
    
    		/// <summary>
    		///    Required method for Designer support - do not modify
    		///    the contents of this method with the code editor.
    		/// </summary>
    		private void InitializeComponent()
    		{
    			this.components = new System.ComponentModel.Container();
    			this.mainMenu = new System.Windows.Forms.MainMenu();
    			this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    			this.Text = "Child Window";
    			this.ClientSize = new System.Drawing.Size(392, 117);
    			this.Menu = mainMenu;
    			this.WindowState = FormWindowState.Maximized;
    		}
    	}
    }
    					
  4. Execute a aplicação e, em seguida, clique no menu janela . Aparece o menu Ajuda .

Propriedades

Artigo: 322171 - Última revisão: 5 de fevereiro de 2014 - Revisão: 3.4
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.0
Palavras-chave: 
kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbnetframe100presp2fix kbnetframe100presp3fix kbbug kbfix kbqfe kbwindowsforms KB322171 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 322171

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com