REVISIÓN: Puede recibir un mensaje de error "IndexOutOfRangeException" cuando usa la combinación de teclas MAYÚS+flecha arriba en un control DataGrid en Visual Studio .NET 2002

Seleccione idioma Seleccione idioma
Id. de artículo: 825031 - Ver los productos a los que se aplica este artículo
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando se utiliza la combinación de teclas MAYÚS+flecha arriba en un control DataGrid , puede producirse un problema. Cuando se produce este problema, tiene también la propiedad ReadOnly del DataGrid control establecido en true. También tiene todas las filas en el control DataGrid seleccionado.

Es posible que reciba un mensaje de error parecido al siguiente:
System.IndexOutOfRangeException: Índice fuera de los límites de la matriz.
en System.Windows.Forms.DataGrid.ProcessGridKey (KeyEventArgs ke)
en System.Windows.Forms.DataGrid.ProcessDialogKey (keyData teclas)
en System.Windows.Forms.Control.PreProcessMessage (mensaje & msg)
en System.Windows.Forms.ThreadContext.System.Windows.Forms.
UnsafeNativeMethods+IMsoComponent.FPreTranslateMessage (MSG & msg)

Solución

Para resolver este problema, obtenga el service pack más reciente para Microsoft .NET Framework 1.0.El archivo siguiente está disponible para descargarlo del Centro de descarga de Microsoft:

El Framework de Microsoft .NET 1.0 Service Pack 3

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:". Este problema se corrigió por primera vez en Microsoft .NET Framework 1.0 Service Pack 3.

Más información

Pasos para reproducir el problema

  1. Inicie Microsoft Visual Studio NET..
  2. En el menú archivo , seleccione nuevo y, a continuación, haga clic en proyecto .

    Aparecerá el cuadro de diálogo Nuevo proyecto .
  3. En Tipos de proyecto , haga clic en Proyectos de Visual Basic .
  4. En plantillas , haga clic en Windows Application .
  5. En el cuadro nombre , escriba WindowsApplication1 como el nombre de la aplicación.
  6. Haga clic en Aceptar .

    De forma predeterminada, un archivo denominado Form1.vb se agrega al proyecto si está utilizando Visual Basic. NET.

    De forma predeterminada, se agregado un archivo que se denomina Form1.cs al proyecto si está utilizando Microsoft Visual C#. NET.
  7. Haga doble clic en DataGrid para agregar un control DataGrid al formulario que se denomina Form1 .

    De forma predeterminada, el control DataGrid que se denomina DataGrid se agrega al formulario que se denomina Form1.
  8. En la vista Diseño de Form1 , haga doble clic en el formulario que se denomina Form1 y, a continuación, agregue el código siguiente al procedimiento Form1_Load :

    código de Visual Basic .NET
    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 de 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. En el menú Generar , haga clic en Generar soluciones .
  10. En el menú Depurar , haga clic en iniciar .

    Aparece el formulario se denomina Form1 .
  11. Coloque el puntero en cualquier columna de la última fila en el control DataGrid .
  12. Seleccione todas las celdas en el control DataGrid mediante la combinación de teclas CTRL + A.
  13. Presione la combinación de teclas MAYÚS+flecha arriba.

    Puede recibir el mensaje de error que se menciona en la sección "Síntomas" sección.

Referencias

Para obtener información adicional, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):

DataGrid de Windows Forms
http://msdn2.microsoft.com/en-us/vbasic/ms789159.aspx
Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
320584Cómo capturar pulsaciones de teclas en .NET se controla utilizando Visual C# .NET

Propiedades

Id. de artículo: 825031 - Última revisión: sábado, 08 de febrero de 2014 - Versión: 1.6
La información de este artículo se refiere a:
  • Microsoft .NET Framework 1.0 Service Pack 2
  • Microsoft .NET Framework 1.0 Service Pack 1
  • Microsoft .NET Framework 1.0
Palabras clave: 
kbnosurvey kbarchive kbmt kbnetframe100presp3fix kbctrl kbcontrol kbqfe kbhotfixserver kbfix kbbug KB825031 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 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