我正在编写一些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 Esc 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
#
# Example : 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
答案 0 :(得分:4)
以下是ListBox Class的MSDN。有一个名为Font的属性。在MSDN页面上可以看到所有构造函数或制作字体对象的方法。在此示例中,这是one I used。
#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
$objListBox.Font = New-Object System.Drawing.Font("Lucida Console",12,[System.Drawing.FontStyle]::Regular)