CORRECÇÃO: Teclado sinal de mais (+) e sinal de menos (-) não aparecem no controle DataGrid com translation from VPE for Csharp

Traduções deste artigo Traduções deste artigo
ID do artigo: 329333 - Exibir os produtos aos quais esse artigo se aplica.
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Expandir tudo | Recolher tudo

Sintomas

No controle DataGrid do Windows Forms, quando você usar o teclado numérico para digitar o sinal de mais (+) ou subtração (-), esses símbolos não aparecem no controle DataGrid.

Resolução

Para resolver o problema, você deve herdar sua própria classe datagrid a classe System.Windows.Forms.DataGrid e, em seguida, substituir as seguintes funções:
  • OnKeyDown
The following code demonstrates this resolution:
public class OwnDataGrid : System.Windows.Forms.DataGrid
	{
		protected override void OnKeyDown(System.Windows.Forms.KeyEventArgs ke)
		{
			switch(ke.KeyCode)
			{
				case Keys.Add :
					ke = new KeyEventArgs(ke.Modifiers|Keys.Oemplus);
					break;
				case Keys.Subtract :
					ke = new KeyEventArgs(ke.Modifiers|Keys.OemMinus);
					break;
			}
			base.OnKeyDown(ke);
			base.ProcessGridKey(ke);
		}

		protected override bool ProcessDialogKey(System.Windows.Forms.Keys keyData)
		{
			switch(keyData)
			{																				  
				case Keys.Subtract :
					return base.ProcessDialogKey(Keys.OemMinus);

				case Keys.Add :
					return base.ProcessDialogKey(Keys.Oemplus);
				default :
					return base.ProcessDialogKey(keyData);
			}
		}
		

		protected override bool ProcessKeyPreview(ref System.Windows.Forms.Message m)
		{
			int WM_KEYDOWN = 0x100;
			if(m.Msg == WM_KEYDOWN) 
			{
				KeyEventArgs ke = new KeyEventArgs((Keys)m.WParam.ToInt32() | ModifierKeys);

				switch(ke.KeyCode)
				{
					case Keys.Add :
						ke = new KeyEventArgs(Keys.Oemplus | ModifierKeys);
						break;
					case Keys.Subtract :
						ke = new KeyEventArgs(Keys.OemMinus | ModifierKeys);
						break;
				}
				return base.ProcessGridKey(ke);
			}
			return base.ProcessKeyPreview(ref m);
		}
	}
				

Situação

Esse bug foi corrigido no Microsoft .NET Framework 1.1 SDK.

Mais Informações

Para obter informações adicionais em um Visual Basic .NET versão deste artigo, clique no number328590 de artigo abaixo para exibir o article328590 na Base de dados de Conhecimento da Microsoft:
Teclado de erro: Sinal de mais (+) e sinal de menos (-) não aparecem no controle DataGrid com o Visual Basic .NET

Propriedades

ID do artigo: 329333 - Última revisão: sábado, 26 de outubro de 2013 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework Software Development Kit 1.0 Service Pack 2
Palavras-chave: 
kbnosurvey kbarchive kbmt kbbug kbfix KB329333 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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 329333

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