Visual Studio, Conways game of Life
-
Hallo, ich wollte in Visual Studio 2010 wohl eine Tabelle erzeugen mit Hilfe von DataGridView und die Werte dieser Tabelle per klick auf Button ändern.
So sieht mein momentaner Quelltext aus:#pragma once
namespace Projekt {
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;/// <summary>
/// Zusammenfassung für Form1
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
//
//TODO: Konstruktorcode hier hinzufügen.
//
}protected:
/// <summary>
/// Verwendete Ressourcen bereinigen.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}protected:
private: System::Windows::Forms::DataGridView^ dataGridView1;
private: System::Windows::Forms::Button^ button2;
private: System::Windows::Forms::Button^ button1;
private: System::Windows::Forms::Button^ button3;
private: System::Windows::Forms::Button^ button4;private:
/// <summary>
/// Erforderliche Designervariable.
/// </summary>
System::ComponentModel::Container ^components;#pragma region Windows Form Designer generated code
/// <summary>
/// Erforderliche Methode für die Designerunterstützung.
/// Der Inhalt der Methode darf nicht mit dem Code-Editor geändert werden.
/// </summary>
void InitializeComponent(void)
{this->Controls->Add( dataGridView1 );
dataGridView1->ColumnCount = 5;
this->dataGridView1 = (gcnew System::Windows::Forms::DataGridView());
this->button2 = (gcnew System::Windows::Forms::Button());
this->button1 = (gcnew System::Windows::Forms::Button());
this->button3 = (gcnew System::Windows::Forms::Button());
this->button4 = (gcnew System::Windows::Forms::Button());
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->dataGridView1))->BeginInit();
this->SuspendLayout();
//
// dataGridView1
//
this->dataGridView1->ColumnHeadersHeightSizeMode = System::Windows::Forms::DataGridViewColumnHeadersHeightSizeMode::AutoSize;
this->dataGridView1->Location = System::Drawing::Point(176, 36);
this->dataGridView1->Name = L"dataGridView1";
this->dataGridView1->Size = System::Drawing::Size(535, 344);
this->dataGridView1->TabIndex = 1;//
// button2
//
this->button2->Location = System::Drawing::Point(12, 111);
this->button2->Name = L"button2";
this->button2->Size = System::Drawing::Size(75, 23);
this->button2->TabIndex = 3;
this->button2->Text = L"button2";
this->button2->UseVisualStyleBackColor = true;
//
// button1
//
this->button1->Location = System::Drawing::Point(12, 82);
this->button1->Name = L"button1";
this->button1->Size = System::Drawing::Size(75, 23);
this->button1->TabIndex = 4;
this->button1->Text = L"button1";
this->button1->UseVisualStyleBackColor = true;
this->button1->Click += gcnew System::EventHandler(this, &Form1::button1_Click);
//
// button3
//
this->button3->Location = System::Drawing::Point(95, 111);
this->button3->Name = L"button3";
this->button3->Size = System::Drawing::Size(75, 23);
this->button3->TabIndex = 5;
this->button3->Text = L"button3";
this->button3->UseVisualStyleBackColor = true;
//
// button4
//
this->button4->Location = System::Drawing::Point(95, 82);
this->button4->Name = L"button4";
this->button4->Size = System::Drawing::Size(75, 23);
this->button4->TabIndex = 6;
this->button4->Text = L"button4";
this->button4->UseVisualStyleBackColor = true;
//
// Form1
//
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(740, 420);
this->Controls->Add(this->button4);
this->Controls->Add(this->button3);
this->Controls->Add(this->button1);
this->Controls->Add(this->button2);
this->Controls->Add(this->dataGridView1);
this->Name = L"Form1";
this->Text = L"Form1";
(cli::safe_cast<System::ComponentModel::ISupportInitialize^ >(this->dataGridView1))->EndInit();
this->ResumeLayout(false);}
#pragma endregion
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {//array<String>row0 = { "x" };
//this->DataGridView1->Rows->Add(row0);
}
};
}Wobei dabei ja nur das dataGridView und die Funktion des Button wichtig ist.
Wenn ich das nun jedoch debugge tritt dieser Fehler auf.Eine nicht behandelte Ausnahme des Typs "System.NullReferenceException" ist in System.Windows.Forms.dll aufgetreten.
und er sagt mir meine Buttons sind nicht deklariert.
Wollte mal fragen ob mir jemand helfen könnte bzw Tipps geben könnte.
(Soll am ende eine Version von Conways Game of Life werden, dabei sollen per Click auf Button die einzelnen Figuren angezeigt werden und per klick auf start deren Bewegunsablauf dargestellt werden.
Schonmal danke^^
-
Eine nicht behandelte Ausnahme des Typs "System.NullReferenceException" ist in System.Windows.Forms.dll aufgetreten.
Dann benutze den Debugger - einfach einen Breakpoint setzen (F9).
und er sagt mir meine Buttons sind nicht deklariert.
Wer sagt das? Der Compiler? Dann kann aber noch keine NullReferenceException auftreten. Also erst die Compiler Errors beheben, dann die Laufzeit Errors.
-
Wenn ich auf die Forms zugreifen will gibt er mir diesen Error wieder.
bei Microsoft.VisualC.CppCodeParser.OnMethodPopulateStatements(Object sender, EventArgs e)
bei System.CodeDom.CodeMemberMethod.get_Statements()
bei System.ComponentModel.Design.Serialization.TypeCodeDomSerializer.Deserialize(IDesignerSerializationManager manager, CodeTypeDeclaration declaration)
bei System.ComponentModel.Design.Serialization.CodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager manager)
bei Microsoft.VisualStudio.Design.Serialization.CodeDom.VSCodeDomDesignerLoader.PerformLoad(IDesignerSerializationManager serializationManager)
bei System.ComponentModel.Design.Serialization.BasicDesignerLoader.BeginLoad(IDesignerLoaderHost host)