2015-09-18 3 views
0

Je crée un sélecteur de date graphique dans PowerShell, basé sur ce article. La partie suivante du code dans l'article aide à fermer le formulaire après la sélection de date et en appuyant sur la touche Entrée:Comment fermer le formulaire en cliquant sur la souris?

$objForm.Add_KeyDown({ 
    if ($_.KeyCode -eq "Enter") 
     { 
      $dtmDate=$objCalendar.SelectionStart 
      $objForm.Close() 
     } 
    }) 

Je veux aussi ajouter un événement de la souris pour la sélection de la date et de fermer le formulaire. Donc, la question est, comment pouvons-nous fermer le formulaire une fois la date a été sélectionnée et sur l'événement MouseUp? Merci.

Répondre

1

Au lieu d'enregistrer un gestionnaire d'événements pour tous les Click/MouseDown/MouseUp événements, vous pouvez utiliser le lieu événement DateSelected. De la description:

Se produit lorsque l'utilisateur effectue une sélection de date explicite à l'aide de la souris.

$objForm.Add_DateSelected({ 
     $dtmDate=$objCalendar.SelectionStart 
     $objForm.Close() 
    }) 

Dans PowerShell 3.0 ou plus récent, vous devrez peut-être modifier la portée de $dtmDate variable afin que cela fonctionne:

$script:dtmDate = $objCalendar.SelectionStart 

ou (-Scope 1 signifie "portée parente directe" ou " 1 augmenter la pile d'appels ")

Set-Variable -Scope 1 -Name dtmDate -Value $objCalendar.SelectionStart