多选列表框Multiple-selection List Boxes
复制以下内容并将其粘贴到 Windows PowerShell ISE 中,然后将其另存为 Windows PowerShell 脚本 (.ps1)。
该脚本首先加载两个 .NET Framework 类:System.Drawing 和 System.Windows.Forms。然后,启动 .NET Framework 类 System.Windows.Forms.Form 的新实例;它提供一个可以开始添加控件的空白窗体或窗口。
在创建 Form 类的实例后,为此类的三个属性赋值。
文本。这将成为该窗口的标题。
StartingPosition。在上述脚本中,此可选属性将设置为 CenterScreen。如果未添加此属性,Windows 将在窗体打开时选择一个位置。通过将 StartingPosition 设置为 CenterScreen,可使窗体在每次加载时都自动显示在屏幕中间。
$form.Text = 'Data Entry Form'
$form.Size = New-Object System.Drawing.Size(300,200)
$form.StartPosition = 'CenterScreen'
接下来,为窗体创建“确定”按钮。 指定“确定”按钮的大小和行为。在此示例中,按钮位置为距窗体上边缘 120 像素,距左边缘 75 像素。按钮高度为 23 像素,按钮长度为 75 像素。此脚本使用预定义的 Windows 窗体类型确定按钮行为。
$OKButton.Location = New-Object System.Drawing.Size(75,120)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = 'OK'
$form.AcceptButton = $OKButton
$form.Controls.Add($OKButton)
采用相同方式创建“取消”按钮。“取消”按钮距窗口上边缘 120 像素,但距左边缘 150 像素。
接下来,在窗口上提供标签文本,用于描述你希望用户提供的信息。
$label = New-Object System.Windows.Forms.Label
$label.Location = New-Object System.Drawing.Point(10,20)
$label.Size = New-Object System.Drawing.Size(280,20)
$label.Text = 'Please make a selection from the list below:'
$listBox.Location = New-Object System.Drawing.Point(10,40)
$listBox.Size = New-Object System.Drawing.Size(260,20)
下面介绍如何指定你希望允许用户从列表中选择多个值。
$listBox.SelectionMode = 'MultiExtended'
在下一部分中,你可以指定希望列表框向用户显示的值。
指定列表框控件的最大高度。
$listBox.Height = 70
将列表框控件添加到窗体中,并指示 Windows 在打开该窗体时,在其他窗口和对话框之上打开它。
$form.Controls.Add($listBox)
$form.Topmost = $true
$result = $form.ShowDialog()
最后,If 块内的代码指示在用户从列表框中选择一个或多个选项,然后单击“确定”按钮或按“Enter”键后,Windows 应如何处理该窗体。