【发布时间】:2019-10-21 13:16:24
【问题描述】:
当我创建一个表单并添加一个控件时,我将大小和位置设置为以表单为中心。相反,我得到了一些向右和向下偏移的东西。
造成这种偏移的原因是什么?!
[void][Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic')
[void][Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms')
[void][Reflection.Assembly]::LoadWithPartialName('System.Drawing')
# Main form
$form = New-Object System.Windows.Forms.Form
$form.Size = [System.Drawing.Size]::new(400,500)
$form.StartPosition = 'CenterScreen'
$form.SizeGripStyle = 'Hide'
$form.MaximizeBox = $false
$form.ShowInTaskbar = $true
$form.Text = 'I wont display right.'
#control
$mainPanel = New-Object System.Windows.Forms.Panel
$mainPanel.Anchor = [System.Windows.Forms.AnchorStyles]::Top
$mainPanel.Size = [System.Drawing.Size]::new(($form.Width - 50),($form.Height - 50))
$mainPanel.Location = [System.Drawing.Point]::new(25,25)
$mainPanel.AutoScroll = $true
$mainPanel.BackColor = [System.Drawing.Color]::Black
$form.Controls.Add($mainPanel)
$form.BringToFront()
$form.ShowDialog()
结果:
【问题讨论】:
-
截图会有帮助
-
一个控件被放置在表单的客户端区域。您正在考虑表单的整个大小,包括标题和边框。使用表单的 ClientRectangle(或 ClientSize)度量来确定控件的位置。
-
@CaiusJard 为你添加了图片,尽管这已经得到了回答,以防后面有人好奇。
-
也感谢大家的快速回复!非常感谢。
标签: c# winforms powershell