CORRECÇÃO: Você pode receber uma mensagem de erro "IndexOutOfRangeException" quando você usa a combinação de teclas SHIFT+seta para cima em um controle DataGrid no Visual Studio .NET 2002

Traduções deste artigo Traduções deste artigo
ID do artigo: 825031 - 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

Neste artigo

Sintomas

Quando você usa a combinação de teclas SHIFT+seta para cima em um controle DataGrid , pode ocorrer um problema. Quando esse problema ocorre, você também tem a propriedade ReadOnly do conjunto de controle DataGrid para true. Você também tem todas as linhas no controle DataGrid selecionado.

Você receberá a seguinte mensagem de erro:
System.IndexOutOfRangeException: O í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 esse problema, obtenha o service pack mais recente para o Microsoft .NET Framework 1.0.O seguinte arquivo está disponível para download no Centro de download da Microsoft:

O Microsoft .NET Framework 1.0 Service Pack 3

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a". Esse problema foi corrigido primeiro no Microsoft .NET Framework 1.0 Service Pack 3.

Mais Informações

Etapas para reproduzir o problema

  1. Inicie o Microsoft Visual Studio NET..
  2. No menu arquivo , aponte para novo e, em seguida, clique em Project .

    A caixa de diálogo New Project é exibida.
  3. Em Project Types , clique em Projetos do Visual Basic .
  4. Em modelos , clique em Windows Application .
  5. Na caixa nome , digite WindowsApplication1 como o nome do aplicativo.
  6. Clique em OK .

    Por padrão, um arquivo chamado Form1.vb é adicionado para o projeto se você estiver usando o Visual Basic. NET.

    Por padrão, um arquivo chamado Form1.cs é adicionado para o projeto se você estiver usando o Microsoft Visual translation from VPE for Csharp .NET.
  7. Clique duas vezes em DataGrid para adicionar um controle DataGrid para o formulário é denominado Form1 .

    Por padrão, o controle DataGrid chamado DataGrid é adicionado ao formulário que é denominado Form1.
  8. No modo de design de Form1 , clique duas vezes no formulário que é denominado Form1 e, em seguida, adicione o seguinte código ao procedimento Form1_Load :

    código do Visual Basic .NET tabela de dados como DataTable tabela de dados de
    Dim dataTable As DataTable
    dataTable = 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 .NET translation from VPE for Csharp tabela de dados
    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 Build , clique em Build Solution .
  10. No menu Debug , clique em Iniciar .

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

    Você receberá a mensagem de erro mencionada na "Sintomas" seção.

Referências

Para obter informações adicionais, visite o seguinte site da Microsoft Developer Network (MSDN):

O DataGrid do Windows Forms
http://msdn2.microsoft.com/en-us/vbasic/ms789159.aspx
Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
320584Controla como interceptar pressionamentos de teclas no .NET usando o Visual translation from VPE for Csharp .NET

Propriedades

ID do artigo: 825031 - Última revisão: sábado, 26 de outubro de 2013 - Revisão: 1.6
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0
Palavras-chave: 
kbnosurvey kbarchive kbmt kbnetframe100presp3fix kbctrl kbcontrol kbqfe kbhotfixserver kbfix kbbug KB825031 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: 825031

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