首页 > 解决方案 > 禁用父对象时,Windows 窗体工具提示属性“ShowAlways”不起作用

问题描述

根据 Microsoft 开发人员文档,有一个名为ShowAlways的ToolTip 属性,根据文档;

使用 ShowAlways 属性,即使 ToolTip 的容器未处于活动状态,您也可以显示 ToolTip 窗口。您可以在无模式窗口应用程序中使用此功能来启用工具提示窗口,无论哪个无模式窗口处于活动状态。

使用下面的示例代码,我无法完成这项工作。

$Form                            = New-Object system.Windows.Forms.Form
$Form.ClientSize                 = '200,100'
$Form.text                       = "test"
$Form.TopMost                    = $false
$Form.FormBorderStyle            = 'FixedDialog'
$Form.MaximizeBox                = $false
$Form.StartPosition              = 'CenterScreen'

$checkbox1                       = New-Object system.Windows.Forms.CheckBox
$checkbox1.text                  = "Test"
$checkbox1.AutoSize              = $true
$checkbox1.width                 = 100
$checkbox1.height                = 20
$checkbox1.location              = New-Object System.Drawing.Point(10,50)
$checkbox1.Font                  = 'Verdana,7'

#Disable checkbox enabled state
$checkbox1.Enabled               = $false

$tooltip1                        = New-Object System.Windows.Forms.ToolTip
#Showalways property to true
$tooltip1.ShowAlways             = $true
$tooltip1.SetToolTip($checkbox1,"This is a tooltip.")
$Form.controls.AddRange($checkbox1)

$Form.ShowDialog()

我错过了什么吗?

标签: .netwinformspowershellpowershell-5.0

解决方案


我最终从复选框中删除了文本并将其替换为标签,以便我可以在其上使用工具提示,并在启用复选框状态时为 QoL 添加了 OnClick 操作。

也许它不是最好和最漂亮的解决方案,但它是一个可以工作并完成工作的解决方案,直到(或如果)禁用的复选框将来支持工具提示。


推荐阅读