2012-02-18 26 views
1

我想創建一個事件的datagridview。但我遇到了一個奇怪的錯誤。Datagridview創建

System.NullReferenceException未處理消息=對象引用 未設置爲對象的實例。

的代碼的一部分:

 //Creating table 
     System::Windows::Forms::DataGridView^ dataGridView1; 
     System::Windows::Forms::DataGridViewTextBoxColumn^ Column1; 
     System::Windows::Forms::DataGridViewTextBoxColumn^ Column2; 

     dataGridView1 = (gcnew System::Windows::Forms::DataGridView()); 

     // 
     // dataGridView1 
     // 
     dataGridView1->AllowUserToAddRows = false; 
     dataGridView1->AllowUserToDeleteRows = false; 
     dataGridView1->ColumnHeadersHeightSizeMode = System::Windows::Forms::DataGridViewColumnHeadersHeightSizeMode::AutoSize; 
     dataGridView1->Columns->AddRange(gcnew cli::array<System::Windows::Forms::DataGridViewColumn^>(2) {Column1, 
      Column2}); 

的誤差示出在上面的代碼中的最後一行。 接縫是因爲我在定義對象時犯了錯誤,或者忘記了定義其他東西。

我在哪裏犯了一個錯誤?

我正在使用Visual Studio 2010並在Windows框架項目上工作。

回答

1

您的列對象已聲明但未實例化。你需要像dataGridView1那樣重新編寫它們。你會得到一個NullReference異常,因爲你正在處理最後一行的未被實例化的對象。像這樣調整代碼:

// ... 
dataGridView1 = (gcnew System::Windows::Forms::DataGridView()); 
Column1 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn()); 
Column2 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn()); 
// ... 
相關問題