无论分辨率大小如何,我都希望将照片的那2个始终放在中间。 我尝试了这段代码,这些图片正好在我的工作屏幕中间(1936年, 1056)。当我尝试使用其他分辨率不同的屏幕时,图片不在中央。 任何人都可以帮助我。
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()
$Form = New-Object system.Windows.Forms.Form
$Form.BackColor = "#fcfcfc"
$Form.TopMost = $false
$Form.WindowState = 'Maximized'
$img = [System.Drawing.Image]::Fromfile(".\AT3.png")
$pictureBox = new-object Windows.Forms.PictureBox
$img2 = [System.Drawing.Image]::Fromfile(".\AT2.png")
$pictureBox2 = new-object Windows.Forms.PictureBox
$Panel1 = New-Object system.Windows.Forms.Panel
$Form.controls.AddRange(@($Panel1))
$Panel1.controls.AddRange(@($pictureBox2,$pictureBox))
[void]$Form.Show()
$Panel1.height = $Form.Height / 2
$Panel1.width = $Form.Width
$Panel1.Anchor = "None"
$Panel1.location = New-Object System.Drawing.Point(1,($Panel1.height/2))
$Panel1.BackColor = "#fcfcfc"
$pictureBox2.Location = New-Object System.Drawing.Point(($Panel1.width/2.5),($Panel1.height/2.5))
$pictureBox2.Width = $Form.Size.Width / 2
$pictureBox2.Height = $Form.Size.Height / 2
$pictureBox2.Image = $img2
$pictureBox.Location = New-Object System.Drawing.Point(($Panel1.width/2.8),($Panel1.height/9))
$pictureBox.Width = $Form.Size.Width / 0.5
$pictureBox.Height = $Form.Size.Height / 0.5
$pictureBox.Image = $img
Write-Host $Form.Width
Write-Host $Form.Height
$Form.Visible = $false
[void]$Form.ShowDialog()
答案 0 :(得分:0)
您可以使用锚定来实现这一目标。或者更确切地说不使用它们。
默认情况下,控件锚定在窗体的左上角,这意味着当更改窗体大小时,它们与窗体左上角的距离将保持不变。如果将控件锚点更改为左下角,则在调整表单大小时,控件将与表单的底部和左侧保持相同的距离。
在某个方向上关闭锚点将在调整大小时使控件在该方向上居中。
注意:在VS2015中通过属性窗口关闭锚点可能需要输入None,None(而不是默认的Top,Left)