0

单击我的值并按下我的 OK_button 后,我无法从 listView 中获取值以将其保存在其他地方。我不能使用 listView1.FindItemWithText 因为我没有要搜索的文本.. Idk 如何在按下 OK_button 后查找单击的值

      //Create dummy data to display
      myData = new string[dataListSize];
      for (int i = 0; i < dataListSize; i++)
      {
        myData[i] = String.Format("{0}", i);
      }
    }

    private void listView1_SearchForVirtualItem(object sender, SearchForVirtualItemEventArgs e)
    {
      e.Index = Array.FindIndex(myData, s => s == textBox1.Text.ToString());
    }

    private void listView1_RetrieveVirtualItem(object sender, RetrieveVirtualItemEventArgs e)
    {
      e.Item = new ListViewItem(myData[e.ItemIndex]);     
    }

    private void textBox1_TextChanged(object sender, EventArgs e)
    {
      String MyString = textBox1.Text.ToString();  
      ListViewItem lvi = listView1.FindItemWithText(MyString.TrimEnd());
      //Select the item found and scroll it into view.
      if (lvi != null)
      {
        listView1.SelectedIndices.Clear();
        listView1.SelectedIndices.Add(lvi.Index);
        listView1.EnsureVisible(lvi.Index);
      }
    }

    private void listView1_SelectedIndexChanged(object sender, EventArgs e){  }

    private void OK_button_Click(object sender, EventArgs e)
    {
      try
      {
        // OK -> Daten übernehmen          
        int iCount = this.listView1.SelectedIndices.Count;
        if (iCount != 1)
        {       
          MessageBox.Show("Value is empty");
          return;
        }

        DialogResult = DialogResult.OK;
        Close();
      }
      catch (Exception)
      {
        //WriteProtokoll(ex.ToString(), 0);   
        Close();
      }
    }
4

1 回答 1

0

我发现我可以通过以下方式获得价值:

      string txt = listView1.FocusedItem.Text;
于 2021-08-27T13:12:03.900 回答