Je crée une arborescence dans PowerShell et j'ai ajouté un menu contextuel dans chaque élément. J'essaie d'obtenir maintenant, quand je clique sur un élément du menu contextuel, le nœud sélectionné.Comment puis-je obtenir le nœud actuel à partir du menu contextuel dans un TreeView dans Powershell?
$ctxCreateSiteMenuItem = New-Object System.Windows.Forms.MenuItem
$ctxCreateSiteMenuItem.Text = "Create a site"
$ctxCreateSiteMenuItem.Add_Click({CreateSite $this.Parent.Node})
Lorsque j'ai regardé $ this, c'est mon élément de menu contextuel actuel. $ this.Parent c'est ma liste d'éléments du menu contextuel. $ this.Parent.parent renvoie une valeur vide. Dans C# ou VB la solution est vraiment facile parce que vous avez accès à l'expéditeur mais ici je ne trouve pas un moyen de le faire. Pour information, je fais clic droit pour ouvrir le menu contextuel. J'ai déjà essayé de sélectionner un noeud et après avoir ouvert le menu contextuel, mais cela n'a pas fonctionné.
function CreateSite{
param (
$selectedNode,
$sender,
$eargs
)
Write-host $sender
Write-host $eargs
'add_Click ({PARAM ($ sender, $ eargs) <# utiliser $ expéditeur ici #>}) ' –
Je l'ajoute en paramètre mais la valeur est vide. Peut-être que je me trompe. – MatDev8
Sender ou $ c'est finalement la même chose. Je suis au même point @ MathiasR.Jessen – MatDev8