Click-EventHandler zuweisen

28/04/2010 - 19:10 von Alexander Richter | Report spam
Hallo,
ich habe die Klasse Start und DataGridViewPersonen.

In der Klasse Start erstelle ich das Kontextmenü für die Klasse
DataGridViewPersonen
(Methode CreateContextMenu) und übergebe es mittels Eigenschaft.
dataGridViewPersonen.Kontext = CreateContextMenu();

In der Klasse DataGridViewPersonen existiert die Eigenschaft:
public ContextMenuStrip Kontext { get; set; }

Jetzt will in der Klasse DataGridViewPersonen dem Kontextmenü ein
Click-EventHandler zuweisen.
Kontext.Click += System.EventHandler (Kontext_Click);

Nur wo kann ich in der Klasse DataGridViewPersonen den
Click-EventHandler zuweisen?
Im Konstruktor funktioniert dies nicht, da erhalte ich die Fehlermeldung
NullReferenceException, da die Eigenschaften erst nach dem Konstruktor
abgearbeitet werden.
Und innerhalb der Kontext-Eigenschaft im set funktioniert dies auch nicht
auf Grund der kurzen Schreibweise. Oder doch?
Hat jemand eine Idee?

Alexander
 

Lesen sie die antworten

#1 Frank Dzaebel
28/04/2010 - 21:59 | Warnen spam
Hallo Alexander,

ich habe die Klasse Start und DataGridViewPersonen.
In der Klasse Start erstelle ich das Kontextmenü für die Klasse
DataGridViewPersonen
(Methode CreateContextMenu) und übergebe es mittels Eigenschaft.
dataGridViewPersonen.Kontext = CreateContextMenu();
In der Klasse DataGridViewPersonen existiert die Eigenschaft:
public ContextMenuStrip Kontext { get; set; }
Jetzt will in der Klasse DataGridViewPersonen dem Kontextmenü ein
Click-EventHandler zuweisen.
Kontext.Click += System.EventHandler (Kontext_Click);
Nur wo kann ich in der Klasse DataGridViewPersonen den
Click-EventHandler zuweisen?



Wahrscheinlich verstehe ich Dich falsch, aber was soll
denn da nicht funktionieren?

class DataGridViewPersonen : DataGridView
{
public ContextMenuStrip Kontext { get; set; }
}

private void Form1_Load(object sender, EventArgs e)
{
DataGridViewPersonen dataGridView1 = new DataGridViewPersonen();
dataGridView1.Kontext = contextMenuStrip1;
dataGridView1.Kontext.Click += new EventHandler(Kontext_Click);
}
___________

oder vielleicht gleich:

class DataGridViewPersonen : DataGridView
{
public ContextMenuStrip Kontext
{
get{return ContextMenuStrip;}
set{ContextMenuStrip = value;}
}
}


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen