gpt4 book ai didi

winforms - 鼠标悬停在列表框项目上的POWERSHELL工具提示

转载 作者:行者123 更新时间:2023-12-02 23:54:02 27 4
gpt4 key购买 nike

我做一个Powershell GUI,我想在列表框上使用工具提示,
但是我对事件和事件处理程序不熟悉,在Microsoft.com上找不到关于powershell / winform事件的帮助
我的列表框下面是$ listbox_groupe_import

#Infobulle au survol pour voir les tables d'un groupe de table
$obj_infobulle = New-Object System.Windows.Forms.ToolTip
$obj_infobulle.InitialDelay = 100
$obj_infobulle.ReshowDelay = 100

#Sélectionne tous les groupes de tables dans la base de données et les met dans une liste déroulante
$listbox_groupe_import = Get-ListboxGroup
#Création d'une info bulle pour la Listbox.
$obj_infobulle.SetToolTip($listBox_groupe_import, "tooltip sur listbox")

我想在鼠标悬停上设置工具提示
我找到了,但是我不知道如何执行它:
$listboxGroupe_MouseMove = [System.Windows.Forms.MouseEventHandler]{
#Event Argument: $_ = [System.Windows.Forms.MouseEventArgs]
#TODO: Place custom script here

#index vaut ce qu'on pointe avec la souris au dessus de listbox1
$index = $listBox_groupe.IndexFromPoint($_.Location) #$_ => this (listbox.location) je crois
##"index ="+$index
##$tooltip1.SetToolTip($listBox_groupe, "index ="+$index)

if ($index -ne -1){
#Tooltype sur listbox1 = valeur de l'item pointé
$tooltip1.SetToolTip($listBox_groupe, $listBox_groupe.Items[$index].ToString())
}
else{
#on n'est pas au dessus de listBox_groupe
$tooltip1.SetToolTip($listBox_groupe, "")
}
}

您能告诉我如何通过鼠标悬停在列表框中执行此代码吗?
还是以其他方式为列表框的每个项目显示带有不同文本的工具提示?
谢谢

最佳答案

Can you tell me how to execute this code by mousehover on my listbox?



要在悬停事件中查找鼠标位置,首先可以使用 Control.MousePosition查找鼠标屏幕位置,然后使用 ListBox.PointToClient将其转换为控件上的鼠标位置。然后,其余逻辑与您已有的逻辑类似:
$point = $listBox.PointToClient([System.Windows.Forms.Control]::MousePosition)
$index = $listBox.IndexFromPoint($point)
if($index -ge 0) {
$toolTip.SetToolTip($listBox, $listBox.GetItemText($listBox.Items[$index]))
}
else {
$toolTip.SetToolTip($listBox, "")
}

为了使它更好一点,我使用了 ListBox.GetItemText方法,该方法比项的 ToString方法更好。如果将复杂对象设置为列表框的数据源并设置显示成员属性,则它将基于显示名称提取项目文本,否则返回项目的 ToString

同样不要忘记,要处理 MouseHover事件,您需要使用 Add_MouseHover

关于winforms - 鼠标悬停在列表框项目上的POWERSHELL工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50488001/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com