ListBox.SelectedItem-Eigenschaft
Ruft das derzeit ausgewählte Element in ListBox ab oder legt dieses fest.
Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)
Syntax
'Declaration
<BindableAttribute(True)> _
Public Property SelectedItem As Object
'Usage
Dim instance As ListBox
Dim value As Object
value = instance.SelectedItem
instance.SelectedItem = value
[BindableAttribute(true)]
public Object SelectedItem { get; set; }
[BindableAttribute(true)]
public:
property Object^ SelectedItem {
Object^ get ();
void set (Object^ value);
}
/** @property */
public Object get_SelectedItem ()
/** @property */
public void set_SelectedItem (Object value)
public function get SelectedItem () : Object
public function set SelectedItem (value : Object)
Eigenschaftenwert
Ein Objekt, das die aktuelle Auswahl im Steuerelement darstellt.
Hinweise
Mithilfe dieser Eigenschaft können Sie für eine Standard-ListBox das in der ListBox ausgewählte Element bestimmen. Wenn die SelectionMode-Eigenschaft von ListBox auf SelectionMode.MultiSimple oder SelectionMode.MultiExtended festgelegt ist (wodurch eine ListBox mit Mehrfachauswahl angegeben wird) und mehrere Elemente in der Liste ausgewählt sind, kann diese Eigenschaft jedes ausgewählte Element zurückgeben.
Wenn Sie eine Auflistung abrufen möchten, die sämtliche ausgewählten Elemente in einer ListBox mit Mehrfachauswahl enthält, verwenden Sie die SelectedItems-Eigenschaft. Wenn Sie die Indexposition des derzeit in der ListBox ausgewählten Elements abrufen möchten, verwenden Sie die SelectedIndex-Eigenschaft. Zusätzlich können Sie über die SelectedIndices-Eigenschaft alle ausgewählten Indizes in einer ListBox mit Mehrfachauswahl abrufen.
Beispiel
Im folgenden Codebeispiel wird veranschaulicht, wie das SelectedIndexChanged-Ereignis für die Suche nach und die Auswahl von Elementen in einem anderen ListBox-Steuerelement verwendet wird. Dabei wird mit dem SelectedIndexChanged-Ereignis bestimmt, zu welchem Zeitpunkt das ausgewählte Element in der ListBox geändert wird. Der Beispielcode liest daraufhin unter Verwendung der SelectedItem-Eigenschaft den Text des Elements und ruft die FindString-Methode für eine andere ListBox auf, indem er den von SelectedItem in der ersten ListBox zurückgegebenen Text verwendet. Wenn in der anderen ListBox ein Element gefunden wird, wird dieses ausgewählt. Für dieses Beispiel müssen einem Formular die beiden ListBox-Steuerelemente listBox1
und listBox2
hinzugefügt werden, und beide ListBox-Steuerelemente müssen identische Elemente enthalten. Des Weiteren muss in diesem Beispiel die dort definierte Ereignisbehandlungsmethode mit dem SelectedIndexChanged-Ereignis von listBox1
verbunden sein.
Private Sub listBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles listBox1.SelectedIndexChanged
' Get the currently selected item in the ListBox.
Dim curItem As String = listBox1.SelectedItem.ToString()
' Find the string in ListBox2.
Dim index As Integer = listBox2.FindString(curItem)
' If the item was not found in ListBox 2 display a message box, otherwise select it in ListBox2.
If index = -1 Then
MessageBox.Show("Item is not available in ListBox2")
Else
listBox2.SetSelected(index, True)
End If
End Sub
private void listBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
// Get the currently selected item in the ListBox.
string curItem = listBox1.SelectedItem.ToString();
// Find the string in ListBox2.
int index = listBox2.FindString(curItem);
// If the item was not found in ListBox 2 display a message box, otherwise select it in ListBox2.
if(index == -1)
MessageBox.Show("Item is not available in ListBox2");
else
listBox2.SetSelected(index,true);
}
private:
void listBox1_SelectedIndexChanged( Object^ /*sender*/, System::EventArgs^ /*e*/ )
{
// Get the currently selected item in the ListBox.
String^ curItem = listBox1->SelectedItem->ToString();
// Find the string in ListBox2.
int index = listBox2->FindString( curItem );
// If the item was not found in ListBox 2 display a message box,
// otherwise select it in ListBox2.
if ( index == -1 )
MessageBox::Show( "Item is not available in ListBox2" );
else
listBox2->SetSelected( index, true );
}
private void listBox1_SelectedIndexChanged(Object sender,
System.EventArgs e)
{
// Get the currently selected item in the ListBox.
String curItem = listBox1.get_SelectedItem().ToString();
// Find the string in ListBox2.
int index = listBox2.FindString(curItem);
// If the item was not found in ListBox 2 display a message box,
// otherwise select it in ListBox2.
if (index == -1) {
MessageBox.Show("Item is not available in ListBox2");
}
else {
listBox2.SetSelected(index, true);
}
} //listBox1_SelectedIndexChanged
Plattformen
Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
.NET Compact Framework
Unterstützt in: 2.0, 1.0
Siehe auch
Referenz
ListBox-Klasse
ListBox-Member
System.Windows.Forms-Namespace