Powershell 列表框项目排序错误

Powershell listbox items are sorted wrong

下面的代码给出了一个列表框,其中的项目被排序和排序错误。 这些项目应该按照它们在集合中出现的顺序排列。 $dag.Sorted = $false 显然在这里不起作用。 有人有解决方案吗? 项目名称是荷兰语

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$windows_height = 450
$window_width = 600
$form = New-Object System.Windows.Forms.Form
$form.text = ''
$form.Size = New-Object System.Drawing.Size($window_width, $windows_height)
$form.StartPosition = 'CenterScreen'
$form.Topmost = $true

$dag_hash=@{
  Maandag = 2
  Dinsdag = 3
  Woensdag = 4
  Donderdag = 5
  Vrijdag = 6
}

$dag = New-Object System.Windows.Forms.listbox
$dag.Location = '0, 270'
$dag.Size = '250, 70'
$dag.Sorted = $false
$range = $dag_hash.keys
[void]$dag.Items.AddRange($range)
$dag.SetSelected(0,$true)
$form.Controls.Add($dag)

$result = $form.ShowDialog()

正如@Theo 建议的那样,在您的哈希表定义中添加一个 odered 属性:

$dag_hash=[ordered] @{
  Maandag = 2
  Dinsdag = 3
  Woensdag = 4
  Donderdag = 5
  Vrijdag = 6
}