簡體   English   中英

沒有隱藏表單的托盤圖標上下文菜單

[英]Tray Icon Context Menu without hidden Form

一段時間以來,我一直在 PowerShell 中嘗試使用托盤圖標和上下文菜單。 但是,只有在同一腳本中調用 Form 時,我才能使上下文菜單正常工作。

這是一個小例子:

Add-Type -AssemblyName "System.Windows.Forms"

$objForm = New-Object System.Windows.Forms.Form
$objNotifyIcon = New-Object System.Windows.Forms.NotifyIcon 
$objContextMenu = New-Object System.Windows.Forms.ContextMenu
$objExitMenuItem = New-Object System.Windows.Forms.MenuItem

$objExitMenuItem.Index = 1
$objExitMenuItem.Text = "Exit"
$objExitMenuItem.add_Click({ 
$objForm.Close() 
$objNotifyIcon.visible = $false 
})
$objContextMenu.MenuItems.Add($objExitMenuItem) | Out-Null

$objNotifyIcon.Icon = "$PSScriptRoot\win.ico"
$objNotifyIcon.Text = "Context Menu"

$objNotifyIcon.ContextMenu = $objContextMenu
$objForm.ContextMenu = $objContextMenu

#Enabling Icon in Taskbar
$objNotifyIcon.Visible = $true

#Hiding Form as best as possible
$objForm.Visible = $false
$objForm.WindowState = "minimized"
$objForm.ShowInTaskbar = $false
$objForm.add_Closing({ $objForm.ShowInTaskBar = $False }) 

$objForm.ShowDialog()

一旦表單組件被移除,上下文菜單將無法正常工作。 有誰知道為什么你需要加載這個表單,有沒有辦法解決它?

System.Windows.Forms.ApplicationContext 是您需要用來實現這一目標的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM