SelectedDices始终为winforms提供-1值

SelectedDices始终为winforms提供-1值,winforms,listview,ironpython,Winforms,Listview,Ironpython,我正在尝试在winforms中创建一个包含listview的表单。我想将其设置为当我选择一行并按下按钮时,返回该行的索引 问题是每当我选择一行时,表单都会通过(mylistView.SelectedItems)正确返回ListViewItem。但是,它总是返回(-1)的索引值,就好像通过(mylistView.SelectedDices)未选择任何内容一样。另外(mylistView.SelectedItems.Count)返回0 因此,我有两列和一个输入列表(inputlist),看起来像[[

我正在尝试在winforms中创建一个包含listview的表单。我想将其设置为当我选择一行并按下按钮时,返回该行的索引

问题是每当我选择一行时,表单都会通过(mylistView.SelectedItems)正确返回ListViewItem。但是,它总是返回(-1)的索引值,就好像通过(mylistView.SelectedDices)未选择任何内容一样。另外(mylistView.SelectedItems.Count)返回0

因此,我有两列和一个输入列表(inputlist),看起来像[[2,3],[3,4],[4,5],…]我的代码如下所示:

for index, c in enumerate (self.inputlist):
        self.item = ListViewItem()
        self.item.Text = str (self.inputlist[index][0])
        self.item.SubItems.Add(str(self.inputlist[index][1]))
        self._listView1.Items.Add(self.item)
self.items = self._listView1.SelectedItems
self.index = self._listView1.SelectedIndices
self.count = self._listView1.SelectedItems.Count

您的代码返回0,因为您没有选择任何内容,只是在ListView中填充了值。然后,我初始化表单并从列表中选择一项(我还将self.items、self.index、self.count附加到输出列表中)仅“self.items”返回所选项目。在运行代码时,在winform窗口中添加项目并选择项目的“添加部件”。输出类似于outputlist.append([self.items,self.index,self.count]),其中似乎只有self.items保留所选项目的值。我设法在self.items上执行了一些字符串操作,以从原始列表(self.inputlist)中获取其索引,并且在截止日期前它暂时起作用,但我真的想知道哪里出了问题。