2017-06-12 80 views
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 

回答

2

這裏是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) 
+0

謝謝,這很好。 – Nickkus

相關問題