如何获得最后选择的项目或其索引在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
谁能告诉我怎么做?
没有得到任何直接的方法,为了达到要求,我使用了以下方法:
1)将选择的值存储在MouseDown和KeyDown事件中。
2)也为上面提到的两个事件中的onchange事件添加处理程序到DropDownElement。
3)现在,当值改变时,它将触发在其上添加处理程序的方法。在这里,我们可以得到当前选中的元素,并计算取消选中的元素和最后选中的元素。
我知道这不是一个干净的方法,但它像一个魅力。
Grumbler85是正确的;你需要SelectedIndices属性。它是一个集合,包含了HTMLSelect控件中所有当前选中项的从零开始的索引。
HtmlSelect。SelectedIndices属性(MSDN Link)