1
我正在編寫一些用於以後項目的PowerShell代碼。這是一個列表,用戶從列表中選擇一個項目,並將選擇分配給一個變量。我不確定如何控制字體大小,特別是列表框文本。這裏是代碼。如何在Powershell中更改列表框的字體大小
#Creates a window that prompts a user to select an item from a list
#Enables .net Framework Classes
Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
#Creates the window prompt
$objForm = New-Object System.Windows.Forms.Form
$objForm.Text = "Select an Item"
$objForm.Size = New-Object System.Drawing.Size(600,500)
$objForm.StartPosition = "CenterScreen"
#defines Keystrokes as inputs
#sets enter to set highlighted item to a variable
#sets escape to close windowed prompt
$objForm.KeyPreview = $True
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Enter")
{$x=$objListBox.SelectedItem;$objForm.Close()}})
$objForm.Add_KeyDown({if ($_.KeyCode -eq "Escape")
{$objForm.Close()}})
#Creates the OK button for the window
$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(75,300)
$OKButton.Size = New-Object System.Drawing.Size(100,35)
$OKButton.Text = "OK"
$OKButton.Add_Click({$x=$objListBox.SelectedItem;$ObjForm.Close()})
$objForm.Controls.Add($OKButton)
#Creates the cancel button for the window
$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(200,300)
$CancelButton.Size = New-Object System.Drawing.Size(100,35)
$CancelButton.Text = "Cancel"
$CancelButton.Add_Click({$objForm.Close()})
$objForm.Controls.Add($CancelButton)
#Adds the label text
$objLabel = New-Object System.Windows.Forms.Label
$objLabel.Location = New-Object System.Drawing.Size(10,40)
$objLabel.Size = New-Object System.Drawing.Size(400,50)
$objLabel.Text = "Please Select an Item"
$objForm.Controls.Add($ObjLabel)
#Creates the empty List box
$objListBox = New-Object System.Windows.Forms.ListBox
$objListBox.Location = New-Object System.Drawing.Size(10,100)
$objListBox.Size = New-Object System.Drawing.Size(500,300)
$objListBox.Height = 200
#Adds items to the list box
#can call items from file
# ex: Get-Content C:\Scripts\Test.txt | ForEach-Object {[void] $objListBox.Items.Add($_)}
[void] $objListBox.Items.Add("one")
[void] $objListBox.Items.Add("two")
[void] $objListBox.Items.Add("three")
[void] $objListBox.Items.Add("four")
[void] $objListBox.Items.Add("five")
$objForm.Controls.Add($objListBox)
$objForm.Topmost = $True
$objForm.Add_Shown({$objForm.Activate()})
[void] $objForm.ShowDialog()
$x
謝謝,這很好。 – Nickkus