FIX: 您可能會收到 IndexOutOfRangeException 」 錯誤訊息,當您在 Visual Studio.NET 2002年中的 DataGrid 控制項中使用 SHIFT + 向上鍵組合鍵

重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。

825031
本文已封存。本文係以「現狀」提供且不會再更新。
徵狀
當您在 DataGrid 控制項中使用 SHIFT + 向上鍵組合鍵時,可能會發生一個問題。當就會發生這個問題也會有 DataGrid 控制項設定為 true 的 [唯讀] 的屬性。您也可以在 DataGrid 控制項中選取的所有資料列。

您可能會收到下列錯誤訊息:
System.IndexOutOfRangeException: 索引超出該陣列的界限。
在 System.Windows.Forms.DataGrid.ProcessGridKey (KeyEventArgs ke)
在 System.Windows.Forms.DataGrid.ProcessDialogKey (索引鍵 keyData)
在 System.Windows.Forms.Control.PreProcessMessage (訊息和訊息)
在 System.Windows.Forms.ThreadContext.System.Windows.Forms。
UnsafeNativeMethods+IMsoComponent.FPreTranslateMessage (MSG & 訊息)
解決方案
如果要解決這個問題,取得最新的 Service Pack 的 Microsoft.NET Framework 1.0。下列檔案是可以從 Microsoft 下載中心 」 下載:

Microsoft.NET Framework 1.0 Service Pack 3
狀況說明
Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。 這個問題已經在 Microsoft 中第一次獲得修正.NET Framework 1.0 Service Pack 3。
其他相關資訊

如果要重現問題的步驟

  1. 啟動 Microsoft Visual Studio.NET。
  2. 在 [檔案] 功能表上指向 [新增],然後按一下 [專案]。

    出現 [新增專案] 對話方塊。
  3. 按一下 [專案類型,] 下的 [Visual Basic 專案]。
  4. 在 [範本 下, 按一下 Windows 應用程式
  5. 在 [名稱] 方塊中輸入 [做為應用程式名稱的 [WindowsApplication1]。
  6. 按一下 [確定]

    預設情況下,名為 Form1.vb 的檔案會加入至專案,如果您使用的 Visual Basic.NET。

    預設情況下,名為 Form1.cs 的檔案會加入至專案,如果您使用的 Microsoft Visual C#.NET。
  7. 連按兩下 DataGrid 若要將 DataGrid 控制項加入至名為 Form1 的表單。

    預設情況下,DataGrid 控制項,稱為 DataGrid 被加入名為 Form1 的表單。
  8. Form1 的 [設計檢視] 中連按兩下 [名為 Form1,表單],然後再將下列的程式碼加入 Form1_Load 程序]:

    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

    Visual C#.NET 程式碼
    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. 在 [建置] 功能表上按一下 建置方案
  10. 在 [偵錯] 功能表上按一下 [開始]。

    名為 Form1 的表單會出現。
  11. 將指標放在 DataGrid 控制項中最後一個資料列的任何資料行中。
  12. 使用 CTRL + A 組合鍵,在 DataGrid 控制項中選取所有儲存格。
  13. 請按 SHIFT + 向上鍵組合鍵。

    您可能會收到錯誤訊息所述之 < 徵狀 > 一節。
参考
如需詳細資訊請造訪下列 Microsoft 開發人員網路 (MSDN) 網站]:

Windows Form DataGrid如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
320584藉由使用 Visual C#.NET 控制如何補漏白在.NET 中的按鍵動作

警告:本文為自動翻譯

內容

文章識別碼:825031 - 最後檢閱時間:10/26/2013 19:20:11 - 修訂: 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 KbMtzh
意見反應