选择项目列表框c#

本文关键字:列表 项目 选择 | 更新日期: 2023-09-27 18:24:09

我试图使用C#使用switch语句在列表框中选择一个项目,但什么也没发生:

这是我当前的代码:

XAML

<ListBox x:Name="test" (XAML OMITED) SelectionChanged="test_SelectionChanged">
 <ListBoxItem Content="name 1" />

c#

 private void test_SelectionChanged(object sender,  System.EventArgs e)
    {
        switch (test.SelectedItem.ToString())
        {
            case "name 1":
                MessageBox.Show("X");
                break;
            case "name 2":
                MessageBox.Show("X");
                break;
            default:
                break;
        }

感谢

选择项目列表框c#

listbox是sender对象,所以你可以这样访问它。你只需要将sender强制转换为listbox,然后你选择的项目是listbox项目,这样你就可以强制转换它,然后你就可以访问内容值。此外,当我创建selectionchanged事件处理程序时,它接受SelectionChangedEventArgs e,而不是System.EventArgs,SelectionChangedPEventArgs位于System.Windows.Controls命名空间中,该命名空间应该已经通过using语句导入到您的类中。

var mySender = (ListBox)sender;
swtich(((ListBoxItem)mySender.SelectedItem).Content.ToString()){
  case "name 1":
            MessageBox.Show("X");
            break;
  case "name 2":
            MessageBox.Show("X");
            break;
  default:
            break;
}
 private void ListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            foreach (var selectedItem in e.AddedItems)
            {
                switch ((selectedItem as ListBoxItem).Content.ToString())
                {
                    case "name 1":
                        MessageBox.Show("X");
                        break;
                    case "name 2":
                        MessageBox.Show("y");
                        break;
                    default:
                        break;
                }
            }
        }