ListBox.SelectedItem 属性

定义

获取或设置 ListBox 中的当前选定项。

public:
 property System::Object ^ SelectedItem { System::Object ^ get(); void set(System::Object ^ value); };
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Browsable(false)]
public object SelectedItem { get; set; }
[System.ComponentModel.Bindable(true)]
[System.ComponentModel.Browsable(false)]
public object? SelectedItem { get; set; }
[<System.ComponentModel.Bindable(true)>]
[<System.ComponentModel.Browsable(false)>]
member this.SelectedItem : obj with get, set
Public Property SelectedItem As Object

属性值

表示控件中当前选定内容的对象。

属性

示例

下面的代码示例演示如何使用 SelectedIndexChanged 事件在不同控件中 ListBox 搜索和选择项。 该示例使用 SelectedIndexChanged 事件来确定 中 ListBox 所选项的更改时间。 然后,示例代码使用 SelectedItem 属性读取项的文本,并使用第一ListBox个 中返回SelectedItem的文本在不同的 ListBox 上调用 FindString 方法。 如果在另 ListBox一个 中找到某个项,则选择该项。 此示例要求已将两 ListBox 个名为 listBox1listBox2的控件添加到窗体中,并且这两 ListBox 个控件包含相同的项。 该示例还要求示例中定义的事件处理方法连接到 SelectedIndexChangedlistBox1事件。

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 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

注解

对于标准 ListBox,可以使用此属性来确定在 中选择了 ListBox哪个项。 SelectionMode如果 的 ListBox 属性设置为 SelectionMode.MultiSimpleSelectionMode.MultiExtended (指示多选ListBox) 并在列表中选择了多个项,则此属性可以返回任何选定的项。

若要检索包含多选 ListBox中的所有选定项的集合,请使用 SelectedItems 属性。 如果要获取 中 ListBox当前选定项的索引位置,请使用 SelectedIndex 属性。 此外,可以使用 SelectedIndices 属性获取多选中的所有选定 ListBox索引。

适用于