我有 PowerShell 脚本,带有无边框窗口,随着越来越多人使用DPI缩放,我相应地测试了我的表单。
奇怪的是它似乎有规模地扩展到150%,但是175%的形式本身(红色)比richtextbox(灰色)增长得更多,如下例所示。
有关如何解决或阻止这种情况的任何想法?
[void][System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms")
$form = New-Object System.Windows.Forms.Form
$form.Size = "200,200"
$form.FormBorderStyle = "None"
$form.BackColor = "#C15959"
$form.TopMost = $true
$form.StartPosition = "CenterScreen"
$form.AutoScalemode = "Dpi"
$form.AutoSize = $true
$form.AutoSizeMode = "GrowOnly"
$rtb = New-Object System.Windows.Forms.RichTextBox
$rtb.BorderStyle = "FixedSingle"
$rtb.BackColor = "#EDEDED"
$rtb.Anchor = "Top,Bottom,Right,Left"
$rtb.Size = "181,155"
$rtb.Location = "1,1"
$rtb.AutoSize = $true
$rtb.add_mouseclick({ $form.close()})
$form.Controls.Add($rtb)
$form.showdialog()
以100%DPI缩放形式:
形式为DPI缩放率为175%:
答案 0 :(得分:0)
解决方案不是为表单本身设置size
而是clientsize
。