Центрирование изображения в форме с помощью PowerShell - PullRequest
0 голосов
/ 03 января 2019

Может центрировать GIF-файл в поле. Я пробовал $objForm.StartPosition = "CenterScreen" и многие другие и не могу понять.

Вот форма:

$img = [System.Drawing.Image]::Fromfile($file);
[System.Windows.Forms.Application]::EnableVisualStyles();
$form = new-object Windows.Forms.Form

[void][reflection.assembly]::LoadWithPartialName("System.Windows.Forms")
$form = New-Object Windows.Forms.Form
$form.Text = "Image Viewer"
$form.WindowState= "Maximize"
$form.ControlBox = $false
$form.FormBorderStyle = "0"
$form.BackColor = [System.Drawing.Color]::black

$pictureBox1 = New-Object Windows.Forms.PictureBox

$pictureBox1.Width =  $img.Size.Width;
$pictureBox1.Height =  $img.Size.Height;
$pictureBox1.Image = $img;
$form.Controls.Add($pictureBox)
$form.Add_Shown( { $form.Activate() } )
$form.ShowDialog()
#$form.Show();    
$file = (Get-Item 'C:\ABCD.gif')

1 Ответ

0 голосов
/ 03 января 2019

Существуют различные решения для показа изображения по центру в форме. Например, вы можете установить Dock свойство PicureBox на Fill и установить SizeMode на Center:

Add-Type -AssemblyName System.Windows.Forms
$form = New-Object System.Windows.Forms.Form
$pic =  New-Object System.Windows.Forms.PictureBox
$pic.BackColor = [System.Drawing.Color]::Transparent
$pic.Dock = [System.Windows.Forms.DockStyle]::Fill
$pic.ImageLocation = "https://i.stack.imgur.com/repwc.gif"
$pic.SizeMode = [System.Windows.Forms.PictureBoxSizeMode]::CenterImage
$form.Controls.Add($pic)
$form.ShowDialog() | Out-Null
$form.Dispose()

Тогда это будет выглядеть так:

enter image description here

Чтобы установить более одного элемента управления для отображения в центре, вы можете использовать комбинацию TableLayoutPanel и FlowLayoutPanel, посмотрите на этот пост .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...