如何获得最后选择的项目或其索引在html多重选择使用VB.Net

本文关键字:选择 html Net VB 索引 最后 何获得 项目 | 更新日期: 2023-09-27 18:18:53

正如msdn上关于HtmlSelect的说明。SelectedIndex属性

如果Multiple属性设置为true,表示可以同时选择多个项,则SelectedIndex属性包含第一个选中项的索引。

我正在使用SHDocVw。InternetExplorer的api在我的Vb。. Net WinForms应用程序,我试图获得用户最后选定项目的文本,但SelectedIndex在多个HTML选择的情况下不适合我。

这是我的代码

 Private Sub onMouseDown(ByVal pEvtObj As mshtml.IHTMLEventObj)
    Dim srcElement = pEvtObj.srcElement
    If TypeOf (srcElement) Is IHTMLSelectElement Then
        Dim DropDownElement = CType(srcElement, IHTMLSelectElement)
        Dim elementValue = CType(DropDownElement.item(DropDownElement.selectedIndex), IHTMLOptionElement).text
    End If
End Sub
谁能告诉我怎么做?

如何获得最后选择的项目或其索引在html多重选择使用VB.Net

没有得到任何直接的方法,为了达到要求,我使用了以下方法:

1)将选择的值存储在MouseDown和KeyDown事件中。

2)也为上面提到的两个事件中的onchange事件添加处理程序到DropDownElement。

3)现在,当值改变时,它将触发在其上添加处理程序的方法。在这里,我们可以得到当前选中的元素,并计算取消选中的元素和最后选中的元素。

我知道这不是一个干净的方法,但它像一个魅力。

Grumbler85是正确的;你需要SelectedIndices属性。它是一个集合,包含了HTMLSelect控件中所有当前选中项的从零开始的索引。

HtmlSelect。SelectedIndices属性(MSDN Link)