在ListView

时间:2018-05-22 03:26:57

标签: c# .net

我有一个列表视图,其中包含所有正在运行的进程及其进程ID。我试图让它从列表中选择一个特定的项目,但我无法弄明白。

我目前正在使用以下代码

ListView findListView = new ListView();

private struct ProcessInfo
{
    public int Id;
    public string ImageKey;
    public Image Image;
    public ListViewItem ListViewItem;
}

private readonly IList<ProcessInfo> m_process = new List<ProcessInfo>();
private readonly ListViewColumnSorter m_columnSorter = new ListViewColumnSorter();

private void materialRaisedButton1_Click(object sender, EventArgs e)
{
    ListViewItem item1 = findListView.FindItemWithText("notepad");
    if (item1 != null)
        MessageBox.Show("process found");
    else
        MessageBox.Show("process missing");
}

如果项目存在,我怎么能自动选择项目?

2 个答案:

答案 0 :(得分:0)

您可以尝试这种方法 -

ListViewItem item1 = findListView.FindItemWithText("notepad");
findListView.SelectItem(findListView.Items.IndexOf(item1));

findListView.Items.IndexOf(item1)会为您提供带有文字“记事本”的项目索引。然后使用它来选择listView中的相应项目。

我想你可以在一行中完成这项工作,例如 - findListView.SelectItem(findListView.Items.IndexOf(findListView.FindItemWithText("notepad")));

它不需要这么久,你也可以找到其他方法。

答案 1 :(得分:-1)

使用此

var3 = findListView.Items.IndexOf(findListView.SelectedIndex);