Laden...

ListViewItem und Objectreferences

Erstellt von MjReaper vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.474 Views
M
MjReaper Themenstarter:in
22 Beiträge seit 2006
vor 17 Jahren
ListViewItem und Objectreferences

Hallo,

irgendwie schlage ich mich grade mit einem Problem herum, welches ich mir nicht erklären kann (ok, logisch 🙂 - vllt. ists hier auch einfach nur ein Denkfehler, aber ich komme jedenfalls grade nicht weiter ^^):

Mein Programm erzeugt einige ListView Komponenten. Diese wiederum werden mit ListenElementen gefüllt (eine von mir abgeleitete Klasse von ListViewItem). Diese ListenElemente enthalten 2 Variabeln, index und uebertabindex.

Wenn man nun einen Doppelklick auf ein ListViewElement macht, und sich das ListView.OnDoubleClick Event einschaltet, soll folgendes geschehen:

int uebertabindex = (sender as ListenElement).uebertabindex;
int index = (sender as ListenElement).index;

leider bekomme ich immer die Fehlermeldung:

Object reference not set to an instance of an object.

Jaaa... und nun... wo fehlt bei einem integer die Objektreferenz?? oder ist bei dem (sender as ...) etwas verkehrt?

Ich bin euch dankbar für jede Hilfe.
Gruß
Ralph

484 Beiträge seit 2006
vor 17 Jahren

Hallo

(sender as ListenElement) // könnte auch null sein

//Versuch mal
ListenElement le = (ListenElement)sender;
if(le == null)
/7 > Aua

//oder

if(sender == ListenElement)
//oder

if(sender.GetType() == typeof(ListenElement))

Oder noch einfacher, setze einen HaltePunkt und debugge mal 🙂

Jörg

M
MjReaper Themenstarter:in
22 Beiträge seit 2006
vor 17 Jahren

Hi joerguth,

ich habe das mal überprüft, in der Tat ist der sender eine "ProgrammListe" (abgeleitet von ListView).

Doch ein Problemchen habe ich jetzt noch:
Wie lese ich den Index des selektierten Elements (ohne MultiSelect) aus? Ich meine, so etwas wie SelectedIndex gibt es nicht, nur SelectedIndices, aber das ist auch kein int-Array...

aber schonmal danke für deine Hilfe/deinen Lösungsansatz!!!

484 Beiträge seit 2006
vor 17 Jahren

Original von MjReaper
ich habe das mal überprüft, in der Tat ist der sender eine "ProgrammListe" (abgeleitet von ListView).

Doch ein Problemchen habe ich jetzt noch:
Wie lese ich den Index des selektierten Elements (ohne MultiSelect) aus? Ich meine, so etwas wie SelectedIndex gibt es nicht, nur SelectedIndices, aber das ist auch kein int-Array...

foreach ( ListViewItem item in ProgrammListe.SelectedItems)
        {
              item dürfte dir dann helfen..
              ((ListenElement)item).Members
         }

Jörg

M
MjReaper Themenstarter:in
22 Beiträge seit 2006
vor 17 Jahren

wunderbar, es klappt, dankeschön!!!