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

文章翻譯 文章翻譯
文章編號: 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 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

    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
http://msdn2.microsoft.com/en-us/vbasic/ms789159.aspx
如需詳細資訊按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
320584藉由使用 Visual C#.NET 控制如何補漏白在.NET 中的按鍵動作

屬性

文章編號: 825031 - 上次校閱: 2013年10月26日 - 版次: 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
機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:825031
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。

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