forms - PowerShell 表单调整事件

标签 forms winforms powershell resize

我需要在调整表单大小时动态调整表单对象的大小。用户将拖放表单的边缘以调整其大小。我一直在寻找正确的语法来管理 PowerShell 中的表单大小调整事件,但没有成功。

有人能告诉我为什么 resizeEnd 在表单上不起作用吗?另外,处理调整大小事件的正确语法是什么?

这就是我的尝试,但我一直收到错误:

[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
[void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing")

$form = New-Object System.Windows.Forms.Form
$form.Size = New-Object System.Drawing.Size(1066,518)
$form.KeyPreview = $true
$form.StartPosition = "centerscreen"
$form.BackColor = "MidnightBlue"

$form.Add_KeyDown({
    if($_.KeyCode -eq "Escape") {
        $form.Close()
    }
})

$form.Text = "Dialog Box 5.1" 
$form.Icon = [System.Drawing.Icon]::ExtractAssociatedIcon($PSHOME + "\powershell_ise.exe")
$form.MinimumSize = New-Object System.Drawing.Size(1066,525)

#$form.SizeChanged({ $errorBox1.AppendText("resize") })
#$form.Resize({ Write-Host "resize" })
#$form.ClientSizeChanged({ Write-Host "size" })
$form.ResizeEnd({ Write-Host "resize" })
#$form.SizeChanged({ Write-Host "size" })
#$form.ControlAdded({ Write-Host "event" })
#$form.AutoSizeMode = New-Object System.Windows.Forms.AutoSizeMode
#$form.AutoSizeMode = "GrowAndShrink"
#$form.OnDragDrop({ Write-Host "drop" })

$form.ShowDialog() | Out-Null

基本上,我想说的是,“如果调整了表单的大小,则写入主机,即调整了表单的大小”。

最佳答案

例子:

$form.Add_Resize({
    "form resized"
})

$resizeHandler = { "form resized" }

$form.Add_Resize( $resizeHandler )

Some documentation

试试看 System.Windows.Forms.Form 公开的一长串方法:

$form = New-Object System.Windows.Forms.Form

$form | Get-Member -Force

关于forms - PowerShell 表单调整事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43638238/

相关文章:

Javascript 客户端验证

javascript - onclick javascript 无法使用 firefox 上的选择选项完全刷新表单

python - 如何在模型表单验证中访问 id?

powershell - 如何在 powershell 中以预定义字符串分割非常大的文本文件 (4GB) 并快速完成

powershell - Get-AzureStorageFile 不会列出目录内容,除非我将其通过管道传输到同一 cmdlet

powershell - 如何从另一个 PS session 启动一个新的 PowerShell session ,并运行带有 splatted 参数的 CmdLet

php - 从 HTML 表单传递的值不正确

c# - 最大化来自不同形式 C# 的形式

.net - 我可以在 WinForms 应用程序中使用哪个向导控件?

c# - 如何禁用 c# 消息框蜂鸣声?