如何在PowerShell中更改列表框的字体大小

时间:2017-06-12 15:29:32

标签: .net windows 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 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

1 个答案:

答案 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)