2016-07-21 6 views
0

Ich habe eine Listbox in meinem Formular, die MultiSelect als Simple hat.Auf welches Objekt in einem Listbox-Objekt für den Zugriff habe ich doppelgeklickt?

Ich möchte in der Lage sein, das Element zu verwenden, auf das ich im lst_DblClick Sub doppelklicke. So etwas wie Me.lst.Clicked.

Möglicherweise sind bereits andere Elemente ausgewählt, aber ich weiß, dass ich die Elemente durchlaufen kann und Me.lst.Selected(i) oder ähnliches verwenden kann. Ich habe Probleme, den zuletzt angeklickten zu identifizieren. Abgesehen davon, dass ich das hier irgendwo aufbewahre, was wie ein riesiger Vorschlaghammer aussieht, bin ich mir nicht sicher, wohin ich damit gehen soll.

Ich bin bereits durch die Elemente auf einem Click-Ereignis des gleichen Formulars durchlaufen, weshalb einige möglicherweise bereits ausgewählt sind.

Als eine Randnotiz bin ich mir nicht sicher, ob das, was ich hier einlege, überhaupt funktionieren wird, da https://msdn.microsoft.com/en-us/library/office/ff837260.aspx mir sagt, dass das Klickereignis ebenso wie das Double ausgelöst wird. Ich öffne keine Nachrichtenbox oder Ähnliches mit dem einzigen Klick, also hoffe ich, dass es immer noch feuert.

+0

Haben Sie versucht, den 'ListBox1_Click'-Ereignishandler zu verwenden, um den in einigen öffentlichen Variablen ausgewählten Eintrag zu verfolgen? – user3598756

+0

Ich habe nicht, aber das war der Vorschlaghammer Vorschlag, auf den ich anspielte. Ich gehe davon aus, dass es in der Liste noch ein paar mehr Punkte geben könnte, da es immer mehr in meinem Team verwendet wird. –

+0

gut, solange _ _ "die Liste der zuletzt angeklickt" _ Listbox Element Problem betroffen ist, konnte ich an nichts anderes denken als "ListBox1_Click Event" + öffentliche Variable "Ansatz, den ich nicht einen" Vorschlaghammer "nennen würde überhaupt, das Problem steht. – user3598756

Antwort

1

Es ist möglich, zu tun, was Sie wollen, ohne eine Menge Code zu schreiben.

Wenn in einer Access Listbox 1 oder mehr Elemente ausgewählt sind (ob "Einfacher" oder "Erweiterter" Mehrfachauswahlmodus), gibt es mehrere Methoden, um auf die Daten zuzugreifen.

Wenn Sie das aktuell ausgewählte Element in der Listbox (das Element, auf das zuletzt geklickt wurde) wissen möchten, verweisen Sie darauf mit dem. Column Eigenschaft ohne Angabe des Row-Parameters. Der Index Parameter 0 basiert, so dass Spalte 1 in der Listbox als 0 mit der .Column Eigenschaft verweist, Spalte 2 als 1 Bezug genommen wird, usw.

Me.lst.Column(0) 

So zum Beispiel davon aus, dass die erste Spalte in Ihr Listenfeld enthält einen eindeutigen Zeilenbezeichner, auf den Sie im Doppelklickereignis zugreifen möchten. Sie können diesen Wert in Ihrem Doppelklickereignis mithilfe der oben gezeigten Codezeile referenzieren und dann auf diesen Wert zugreifen.

Wenn Sie alle ausgewählten Elemente in der Mehrfachauswahlliste durchlaufen möchten, können Sie dies auf die folgende Weise separat tun, indem Sie die folgenden Elemente aufzählen. ItemsSelected Eigentum.

+0

Danke, ich bin gerade dabei, die Arbeit zu verlassen, und ich werde das morgen versuchen, daher erhöhe ich das erst jetzt. Basierend auf den morgigen Versuchen kann ich es akzeptieren. –

Verwandte Themen