C++ Datagridview创建
我正在尝试创建一个事件的datagridview。但我遇到了奇怪的错误 System.NullReferenceException未处理消息=对象引用 未设置为对象的实例 代码的一部分:C++ Datagridview创建,c++,visual-studio-2010,user-interface,datagridview,C++,Visual Studio 2010,User Interface,Datagridview,我正在尝试创建一个事件的datagridview。但我遇到了奇怪的错误 System.NullReferenceException未处理消息=对象引用 未设置为对象的实例 代码的一部分: //Creating table System::Windows::Forms::DataGridView^ dataGridView1; System::Windows::Forms::DataGridViewTextBoxColumn^ Column1;
//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});
//创建表
系统::Windows::窗体::DataGridView^dataGridView1;
System::Windows::Forms::DataGridViewTextBoxColumn^Column1;
System::Windows::Forms::DataGridViewTextBoxColumn^Column2;
dataGridView1=(gcnew System::Windows::Forms::DataGridView());
//
//dataGridView1
//
dataGridView1->AllowUserToAddress=false;
dataGridView1->AllowUserToDeleteRows=false;
dataGridView1->ColumnHeadershightSizeMode=System::Windows::Forms::DataGridViewColumnHeadershightSizeMode::AutoSize;
dataGridView1->Columns->AddRange(gcnew cli::array(2){Column1,
第2列});
错误显示在上面代码的最后一行。
很可能我在定义一个对象时犯了错误,或者忘记了定义其他对象
我哪里出错了
我正在使用Visual studio 2010,正在处理一个Windows框架项目。您的列对象已声明,但未实例化。您需要像dataGridView1一样更新它们。您将得到一个NullReference异常,因为您正在最后一行处理未实例化的对象。按如下方式调整代码:
// ...
dataGridView1 = (gcnew System::Windows::Forms::DataGridView());
Column1 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
Column2 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
// ...
列对象已声明但未实例化。您需要像dataGridView1一样更新它们。您将得到一个NullReference异常,因为您正在最后一行处理未实例化的对象。按如下方式调整代码:
// ...
dataGridView1 = (gcnew System::Windows::Forms::DataGridView());
Column1 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
Column2 = (gcnew System::Windows::Forms::DataGridViewTextBoxColumn());
// ...