Listview & selectedindices

bzw. selecteditems
oder auch focuseditem

hallo zusammen,

ich ärger mich grad furchtbar mit „.net“ herum…
habe eine form mit einem „listview“ erstellt, denn ich über ein DATASET befüllen lasse.

nun klicke ich auf irgendeinen eintrag und möchte mir zur gaudi diesen jenen welchen inner msgbox anzeigen lassen.

MsgBox(ListView1.FocusedItem.Index().ToString)

funktioniert auch hervorragend — leider nur beim ersten mal—beim 2ten klick auf den listview kommt folgende exception:

„Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.“

oder auch:
MsgBox(ListView1.SelectedItems.Item(0).ToString)

„Das angegebene Argument liegt außerhalb des gültigen Wertebereichs.“

ich möchte einfach nur den jeweiligen eintrag feststellen, entweder über den index oder das ich den inhalt der selektion zurück bekomme, und das nicht nur beim ersten mal funktionierend…
*ÄRGER*

hab schon ewigkeiten rumprobiert— bitte gebt mir mal nen tip

viele grüße

rasta

hallo rasta

ist mir auch unerklärlich ? abboniere doch das click dann gehts…

gruss

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

guten morgen giuseppe,

entschuldige die evtl. etwas dumme frage, aber was meinst du mit abonnieren??

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

guten morgen giuseppe,

entschuldige die evtl. etwas dumme frage, aber was meinst du
mit abonnieren??

Eine Klasse kann ein Ereignis dazu verwenden, eine andere Klasse (oder andere Klassen) über ein aufgetretenes Ereignis zu benachrichtigen. Ereignisse verwenden das Veröffentlichen-Abonnieren-Prinzip; eine Klasse veröffentlicht die Ereignisse, die sie ausgeben kann, und Klassen, die Interesse an bestimmten Ereignissen haben, können diese Ereignisse abonnieren.

-)

gruss

Hi Giuseppe !

Ich muß ehrlich sagen, daß mir Abonieren eines Events auch nix sagt !

Meinst Du damit einen EventHandler auf eine Prozedur einer anderen Klasse zu legen ?

LG
Mario

Hallo Mario

Du musst ja ein Event abonnieren, damit du das Ereignis mitbekommst…

cmdButton.Click += new EventHandler(cmdButton_Click) //c#

private sub cmdButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdButton.Click 'VB.NET

oder über AddHandler

gruss

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo mario, hallo guiseppe,

kann mir einer von euch 2 sagen was es damit auf sich hat,warum der abruf des selected-index im sub

Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged

einen fehler bringt, wenn ich jedoch stattdessen

Private Sub ListView1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ListView1.KeyUp

bzw. _click, _doubleclick, _mouseup verwende, ich auf keinen fehler laufe!!! ???

oder bin ich einfach nur zu blöd

viele grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo

kann ich mir auch nicht erklären. ist einfach so :smile:

gruss

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

1 Like

Hi Guiseppe !

Ich wußte nicht, daß man zu einem „Eventhandler erzeugen“ einen Event abonnieren bedeutet!

Zu dem anderen Problem : Der SELECTEDINDEXCHANGED Event zündet jedesmal ! D.h.: Wenn Du einen Selection änderst wird der Event 2 mal aufgerufen : 1 mal für den deselect des alten Items und 1 mal für den select des neuen Items ! Und wenn der Event nach dem deselect des 1. Items aufgerufen wird, dann wird als index -1 übergeben! also keine items selected !

vielleicht hilft diese info weiter !

LG
Mario

Hi Guiseppe !

Ich wußte nicht, daß man zu einem „Eventhandler erzeugen“
einen Event abonnieren bedeutet!

Hallo das Event wird durch das abbonieren NICHT erzeugt. Abbonieren heisst, dass man auf das Event „hören“ will.

Zu dem anderen Problem : Der SELECTEDINDEXCHANGED Event zündet
jedesmal ! D.h.: Wenn Du einen Selection änderst wird der
Event 2 mal aufgerufen : 1 mal für den deselect des alten
Items und 1 mal für den select des neuen Items ! Und wenn der
Event nach dem deselect des 1. Items aufgerufen wird, dann
wird als index -1 übergeben! also keine items selected !

vielleicht hilft diese info weiter !

ah cool, das habe ich nicht gewusst. danke.

Hi Guiseppe !

Ich wußte nicht, daß man zu einem „Eventhandler erzeugen“
einen Event abonnieren bedeutet!

Hallo das Event wird durch das abbonieren NICHT erzeugt.
Abbonieren heisst, dass man auf das Event „hören“ will.

eben … drum hab ich ja nicht EVENT sondern EVENTHANDLER geschrieben *fg* … :smile:

LG
Mario

1 Like

eben … drum hab ich ja nicht EVENT sondern EVENTHANDLER
geschrieben *fg* … :smile:

ach gott :smile: eigentlich sprechen wir ja vom gleichen :wink:

schön dass man sich über events so lange unterhalten kann :smile:

in diesem sinne: lang lebe das multicastdelegate :smile:)