2016-03-24 8 views
0

У меня есть PowerShell сценария с полого окном и как все больше и больше людей используют ДОИТЕ масштабирование я тестировал свою форму соответственно.DPI масштабирования границ окна Winforms идет не так

Странно, кажется, масштабируется (до некоторой степени) до 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 масштабирование:

Form at 100% DPI scaling

форма на 175% DPI масштабирование:

enter image description here

+0

Кажется, это дубликат [Как написать код WinForms, который автоматически масштабируется до системного шрифта и настроек dpi?] (Http://stackoverflow.com/a/29766847/608772). – JPBlanc

+0

Ну, если вы считаете, что это дубликат, вы можете наглядно указать, что именно в связанной нити решит мою проблему. Я не вижу ничего там, что здесь применимо. – Moss

+0

Как я могу читать в вашем коде, вы не применяете все правила в ответе, на который я указываю. – JPBlanc

ответ

0

решение не устанавливать size но clientsize для формировать себя.

 Смежные вопросы

  • Нет связанных вопросов^_^