CORRECÇÃO: Poderá receber uma mensagem de erro "IndexOutOfRangeException" quando utilizar a combinação de teclas SHIFT+seta para cima num controlo DataGrid no Visual Studio .NET 2002

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.

825031
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
Sintomas
Quando utiliza a combinação de teclas SHIFT+seta para cima num controlo DataGrid , poderá ocorrer um problema. Quando este problema ocorre, tem também a propriedade só de leitura do conjunto de controlos DataGrid como true. Tem também todas as linhas no controlo DataGrid seleccionado.

Poderá receber a seguinte mensagem de erro:
System.IndexOutOfRangeException: Índice estava fora dos limites da matriz.
em System.Windows.Forms.DataGrid.ProcessGridKey (KeyEventArgs ke)
em System.Windows.Forms.DataGrid.ProcessDialogKey (chaves keyData)
em System.Windows.Forms.Control.PreProcessMessage (mensagem & msg)
em System.Windows.Forms.ThreadContext.System.Windows.Forms.
UnsafeNativeMethods+IMsoComponent.FPreTranslateMessage (MSG & msg)
Resolução
Para resolver este problema, obtenha o service pack mais recente para o Microsoft .NET Framework 1.0.O ficheiro seguinte está disponível para transferência a partir do Centro de transferências da Microsoft:

O Microsoft .NET Framework 1.0 Service Pack 3
Ponto Da Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a". Este problema foi primeiro corrigido no Microsoft .NET Framework 1.0 Service Pack 3.
Mais Informação

Passos para reproduzir o problema

  1. Inicie o Microsoft Visual Studio NET..
  2. No menu ficheiro , aponte para Novo e, em seguida, clique em projecto .

    A caixa de diálogo Novo projecto é apresentada.
  3. Em Project Types , clique em Projectos do Visual Basic .
  4. Em modelos , clique em Windows Application .
  5. Na caixa nome , escreva WindowsApplication1 como o nome da aplicação.
  6. Clique em OK .

    Por predefinição, um ficheiro é denominado Form1.VB é adicionado ao projecto se estiver a utilizar Visual Basic. NET.

    Por predefinição, um ficheiro é denominado Form1.cs é adicionado ao projecto se estiver a utilizar o Microsoft Visual C# .NET.
  7. Faça duplo clique em DataGrid para adicionar um controlo DataGrid para o formulário é denominado Form1 .

    Por predefinição, o controlo DataGrid com o nome DataGrid é adicionado ao formulário é denominado Form1.
  8. Na vista de estrutura do Form1 , faça duplo clique sobre o formulário é denominado Form1 e, em seguida, adicione o seguinte código ao procedimento Form1_Load :

    código de Visual Basic .NET
    Dim dataTable As DataTabledataTable = New DataTable("TABLE")Dim col As New DataColumn()col.DataType = Type.GetType("System.String")col.ColumnName = "col1"col.DefaultValue = "000"'Add columns.  dataTable.Columns.Add(New DataColumn("Col1"))dataTable.Columns.Add(New DataColumn("Col2"))dataTable.Columns.Add(New DataColumn("Col3"))Dim myDataRow As DataRow = dataTable.NewRow()myDataRow(0) = "11111"myDataRow(1) = "22222"myDataRow(2) = "33333"dataTable.Rows.Add(myDataRow)DataGrid1.DataSource = dataTable.DefaultView

    código do Visual C# .NET dataTable
    DataTable dataTable;dataTable = new DataTable("TABLE");DataColumn col = new DataColumn();col.DataType = Type.GetType("System.String");col.ColumnName = "col1";col.DefaultValue = "000";//Add columns.  dataTable.Columns.Add(new DataColumn("Col1"));dataTable.Columns.Add(new DataColumn("Col2"));dataTable.Columns.Add(new DataColumn("Col3"));DataRow myDataRow = dataTable.NewRow();myDataRow[0] = "11111";myDataRow[1] = "22222";myDataRow[2] = "33333";dataTable.Rows.Add(myDataRow);dataGrid1.DataSource = dataTable.DefaultView;
  9. No menu criar , clique em criar soluções .
  10. No menu Debug , clique em Iniciar .

    É apresentado o formulário é denominado Form1 .
  11. Coloque o ponteiro em qualquer coluna da última linha do controlo DataGrid .
  12. Seleccione todas as células no controlo DataGrid utilizando a combinação de teclas CTRL + A.
  13. Prima a combinação de teclas SHIFT+seta para cima.

    Poderá receber a mensagem de erro é mencionada em "Sintomas" secção.
Referências
Para obter informações adicionais, visite o seguinte Web site da Microsoft Developer Network (MSDN):

A DataGrid de formulários do WindowsPara obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
320584Como aplicar um véu batimentos de teclas no .NET controla utilizando o Visual C# .NET

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 825031 - Última Revisão: 02/03/2014 14:20:13 - Revisão: 1.6

  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0
  • kbnosurvey kbarchive kbmt kbnetframe100presp3fix kbctrl kbcontrol kbqfe kbhotfixserver kbfix kbbug KB825031 KbMtpt
Esta informação foi útil?