【问题标题】:cant get my Value in Listview Virtualmode无法在 Listview 虚拟模式中获得我的价值
【发布时间】:2021-08-27 12:18:32
【问题描述】:

单击我的值并按下我的 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();
      }
    }

【问题讨论】:

  • 添加一个带有 getter 的公共属性,该属性公开所选项目。现在调用代码可以在 ShowDialog() 返回 OK 时简单地使用该属性。

标签: c# listview virtualmode


【解决方案1】:

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

      string txt = listView1.FocusedItem.Text;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 2021-12-29
    • 2023-03-30
    • 2012-03-18
    • 2011-07-21
    • 1970-01-01
    相关资源
    最近更新 更多