.net 右键单击“多重扩展列表框”以仅高亮显示一个选项
我有一个多扩展列表框,当我右键单击框中的某个项目时,我只希望选择该项目。我无法更改列表框的“SelectionMode”,因为当我左键单击时,它必须能够选择多个项目 下面是我的代码,当listbox是单个选择框时可以使用:.net 右键单击“多重扩展列表框”以仅高亮显示一个选项,.net,winforms,powershell,listbox,mouseevent,.net,Winforms,Powershell,Listbox,Mouseevent,我有一个多扩展列表框,当我右键单击框中的某个项目时,我只希望选择该项目。我无法更改列表框的“SelectionMode”,因为当我左键单击时,它必须能够选择多个项目 下面是我的代码,当listbox是单个选择框时可以使用: $inputboxSelectedServers.add_MouseDown({ #listbox click event [System.Windows.Forms.MouseEventArgs]$e= $args[1]
$inputboxSelectedServers.add_MouseDown({ #listbox click event
[System.Windows.Forms.MouseEventArgs]$e= $args[1]
if ($e.Button -eq [System.Windows.Forms.MouseButtons]::Right){
$index = $inputboxSelectedServers.IndexFromPoint($e.Location)
$inputboxSelectedServers.SelectedIndex = $index
$Menu2.Show($inputboxSelectedServers, $e.X, $e.Y) #contextMenuStrip
}
})
但我不知道如何更改鼠标右键单击行为,以仅选择鼠标实际点击的列表框项目。好的,所以经过一段时间的修补,灵感点击。我所要做的就是右键单击
MultiExtended
listbox只选择一个项目,然后取消选择其他所有项目。在此代码中,for循环取消选择列表框中的所有项目,然后将SelectedIndex
属性设置为鼠标右键单击的项目
$inputboxSelectedServers.add_MouseDown({
[System.Windows.Forms.MouseEventArgs]$e= $args[1]
if ($e.Button -eq [System.Windows.Forms.MouseButtons]::Right){
for($i=0;$i -lt $inputboxSelectedServers.Items.Count; $i++){
$inputboxSelectedServers.SetSelected($i,$false)
}
$index = $inputboxSelectedServers.IndexFromPoint($e.Location)
$inputboxSelectedServers.SelectedIndex = $index
$Menu2.Show($inputboxSelectedServers, $e.X, $e.Y)
}
})
好的,经过一段时间的修补,灵感来了。我所要做的就是右键单击
MultiExtended
listbox只选择一个项目,然后取消选择其他所有项目。在此代码中,for循环取消选择列表框中的所有项目,然后将SelectedIndex
属性设置为鼠标右键单击的项目
$inputboxSelectedServers.add_MouseDown({
[System.Windows.Forms.MouseEventArgs]$e= $args[1]
if ($e.Button -eq [System.Windows.Forms.MouseButtons]::Right){
for($i=0;$i -lt $inputboxSelectedServers.Items.Count; $i++){
$inputboxSelectedServers.SetSelected($i,$false)
}
$index = $inputboxSelectedServers.IndexFromPoint($e.Location)
$inputboxSelectedServers.SelectedIndex = $index
$Menu2.Show($inputboxSelectedServers, $e.X, $e.Y)
}
})