Irgendetwas geht hier nicht mit rechten Dingen zu sich...
Code:
if (hovered != null) // Wird ausgeführt, also sollte hovered != null sein ...
{
MessageBox.Show((hovered == null).ToString()); // Gibt "false" aus
MessageBox.Show(hovered.Name); // Gibt eine NullReferenceException, weil hovered == null ist?????
MessageBox.Show((hovered == null).ToString());
// Hier übrigens die oben beschriebene Abfrage,
// IsSensitive und AsSensitive sind Extension Methods
if (hovered.IsSensitive())
hovered.AsSensitive().MouseDown(e.X - hovered.Left, e.Y - hovered.Top);
}
Das soll mal einer verstehen ...
Ist hovered jetzt == null oder != null?
Nein, ich benutze keine Threads.
Und nein, ich gebe nirgendwo von Hand Objekte frei.
Siehe auch:
http://www.c-sharp-forum.de/viewtopic.php?t=101986