Powershell Listbox Items verschieben
Hallo.
Ist es möglich, dass man Items in einer Listbox mit einer Art Button verschiebt?
Ich lade die Einträge der Listbox mit einem Array.
Alles klappt auch einwandfrei.
Nur möchte ich gerne die angezeigten Einträge in der Liste nach Möglichkeit, nach Bedarf verschieben.
Beispiel:
IST-Zustand
Eintrag 1
Eintrag 2
Eintrag 3
Eintrag 4
...usw
SOLL-Zustand
nach drücken eines Buttons soll man die Liste entsprechend verändern...hoch ...runter
Eintrag 1
Eintrag 4
Eintrag 2
Eintrag 3
...usw
Ist es möglich, dass man Items in einer Listbox mit einer Art Button verschiebt?
Ich lade die Einträge der Listbox mit einem Array.
Alles klappt auch einwandfrei.
Nur möchte ich gerne die angezeigten Einträge in der Liste nach Möglichkeit, nach Bedarf verschieben.
Beispiel:
IST-Zustand
Eintrag 1
Eintrag 2
Eintrag 3
Eintrag 4
...usw
SOLL-Zustand
nach drücken eines Buttons soll man die Liste entsprechend verändern...hoch ...runter
Eintrag 1
Eintrag 4
Eintrag 2
Eintrag 3
...usw
$listbox1.SelectedItems
----> move up
----> move down
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 328239
Url: https://administrator.de/contentid/328239
Ausgedruckt am: 25.11.2024 um 09:11 Uhr
2 Kommentare
Neuester Kommentar
Hier stehts
Regeln in Outlook 2013 verwalten: Suchliste sortieren?
Gruß
Regeln in Outlook 2013 verwalten: Suchliste sortieren?
function FormEntryEditor {
#region Generated Form Objects
$formEntryEditor = New-Object System.Windows.Forms.Form
$btnSort = New-Object System.Windows.Forms.Button
$btnToBottom = New-Object System.Windows.Forms.Button
$btnToTop = New-Object System.Windows.Forms.Button
$btnRemove = New-Object System.Windows.Forms.Button
$btnAdd = New-Object System.Windows.Forms.Button
$txtAdd = New-Object System.Windows.Forms.TextBox
$btnCancel = New-Object System.Windows.Forms.Button
$btnSave = New-Object System.Windows.Forms.Button
$btnDown = New-Object System.Windows.Forms.Button
$btnUp = New-Object System.Windows.Forms.Button
$lbItems = New-Object System.Windows.Forms.ListBox
$InitialFormWindowState = New-Object System.Windows.Forms.FormWindowState
#endregion Generated Form Objects
$handler_btnCancel_Click=
{
$Global:result = $false
}
$handler_btnDown_Click=
{
$lbItems.Sorted = $false
$intSelIndex = $lbItems.SelectedIndex
if ($intSelIndex -lt $lbItems.Items.Count -1 -and $intSelIndex -ne -1){
$val = $lbItems.SelectedItem
$lbItems.Items.RemoveAt($intSelIndex)
$lbItems.Items.Insert($intSelIndex +1,$val)
$lbItems.SelectedIndex = $intSelIndex +1
}
}
$handler_btnUp_Click=
{
$lbItems.Sorted = $false
$intSelIndex = $lbItems.SelectedIndex
if ($intSelIndex -gt 0){
$val = $lbItems.SelectedItem
$lbItems.Items.RemoveAt($intSelIndex)
$lbItems.Items.Insert($intSelIndex -1,$val)
$lbItems.SelectedIndex = $intSelIndex -1
}
}
$handler_formEntryEditor_Load=
{
}
$handler_btnRemove_Click=
{
. $removeListBoxEntry
}
$handler_btnAdd_Click=
{
if ($txtAdd.Text -ne ""){
$lbItems.Sorted = $false
$intSelIndex = $lbItems.SelectedIndex
if ($intSelIndex -eq -1){
$lbItems.Items.Add($txtAdd.Text)
}else{
$lbItems.Items.Insert($intSelIndex,$txtAdd.Text)
}
$txtAdd.Text = ""
}
}
$handler_formEntryEditor_FormClosed=
{
}
$handler_btnSave_Click=
{
$arrNewOrder = [string[]]$lbItems.Items
$Script:result = $arrNewOrder
}
$btnToBottom_OnClick=
{
$lbItems.Sorted = $false
$intSelIndex = $lbItems.SelectedIndex
if ($intSelIndex -ne -1){
$val = $lbItems.SelectedItem
$lbItems.Items.RemoveAt($intSelIndex)
$lbItems.Items.Insert($lbItems.Items.Count,$val)
$lbItems.SelectedIndex = $lbItems.Items.Count - 1
}
}
$btnToTop_OnClick=
{
$lbItems.Sorted = $false
$intSelIndex = $lbItems.SelectedIndex
if ($intSelIndex -ne -1){
$val = $lbItems.SelectedItem
$lbItems.Items.RemoveAt($intSelIndex)
$lbItems.Items.Insert(0,$val)
$lbItems.SelectedIndex = 0
}
}
$handler_lbItems_SelectedIndexChanged=
{
}
$handler_btnSort_Click=
{
$lbItems.Sorted = $true
}
$handler_lbItems_KeyUp=
{
switch ($_.KeyCode){
"Delete" {
. $removeListBoxEntry
}
}
}
$handler_txtAdd_KeyDown = {
if ($_.KeyCode -eq "Enter"){. $handler_btnAdd_Click}
}
$OnLoadForm_StateCorrection=
{#Correct the initial state of the form to prevent the .Net maximized form issue
$formEntryEditor.WindowState = $InitialFormWindowState
}
$removeListBoxEntry = {
if ($lbItems.SelectedIndex -ne -1){
$oldIndex = $lbItems.SelectedIndex
$lbItems.Items.RemoveAt($lbItems.SelectedIndex)
if ($lbItems.Items.Count -gt $oldIndex){$lbItems.SelectedIndex = $oldIndex}
}
}
#----------------------------------------------
#region Generated Form Code
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 300
$System_Drawing_Size.Width = 337
$formEntryEditor.ClientSize = $System_Drawing_Size
$formEntryEditor.DataBindings.DefaultDataSourceUpdateMode = 0
$formEntryEditor.FormBorderStyle = 6
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 326
$System_Drawing_Size.Width = 345
$formEntryEditor.MinimumSize = $System_Drawing_Size
$formEntryEditor.Name = "formEntryEditor"
$formEntryEditor.StartPosition = 4
$formEntryEditor.ShowInTaskbar = $False
$formEntryEditor.Text = "Einträge bearbeiten"
$formEntryEditor.add_Load($handler_formEntryEditor_Load)
$formEntryEditor.add_FormClosed($handler_formEntryEditor_FormClosed)
$btnSort.Anchor = 9
$btnSort.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 244
$System_Drawing_Point.Y = 227
$btnSort.Location = $System_Drawing_Point
$btnSort.Name = "btnSort"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 75
$btnSort.Size = $System_Drawing_Size
$btnSort.TabIndex = 11
$btnSort.Text = "A-Z"
$btnSort.UseVisualStyleBackColor = $True
$btnSort.add_Click($handler_btnSort_Click)
$formEntryEditor.Controls.Add($btnSort)
$btnToBottom.Anchor = 9
$btnToBottom.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 244
$System_Drawing_Point.Y = 175
$btnToBottom.Location = $System_Drawing_Point
$btnToBottom.Name = "btnToBottom"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 75
$btnToBottom.Size = $System_Drawing_Size
$btnToBottom.TabIndex = 10
$btnToBottom.Text = "Nach unten"
$btnToBottom.UseVisualStyleBackColor = $True
$btnToBottom.add_Click($btnToBottom_OnClick)
$formEntryEditor.Controls.Add($btnToBottom)
$btnToTop.Anchor = 9
$btnToTop.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 244
$System_Drawing_Point.Y = 88
$btnToTop.Location = $System_Drawing_Point
$btnToTop.Name = "btnToTop"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 75
$btnToTop.Size = $System_Drawing_Size
$btnToTop.TabIndex = 9
$btnToTop.Text = "Nach oben"
$btnToTop.UseVisualStyleBackColor = $True
$btnToTop.add_Click($btnToTop_OnClick)
$formEntryEditor.Controls.Add($btnToTop)
$btnRemove.Anchor = 9
$btnRemove.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 244
$System_Drawing_Point.Y = 39
$btnRemove.Location = $System_Drawing_Point
$btnRemove.Name = "btnRemove"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 75
$btnRemove.Size = $System_Drawing_Size
$btnRemove.TabIndex = 8
$btnRemove.Text = "Entfernen"
$btnRemove.UseVisualStyleBackColor = $True
$btnRemove.add_Click($handler_btnRemove_Click)
$formEntryEditor.Controls.Add($btnRemove)
$btnAdd.Anchor = 9
$btnAdd.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 244
$System_Drawing_Point.Y = 10
$btnAdd.Location = $System_Drawing_Point
$btnAdd.Name = "btnAdd"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 75
$btnAdd.Size = $System_Drawing_Size
$btnAdd.TabIndex = 7
$btnAdd.Text = "Hinzufügen"
$btnAdd.UseVisualStyleBackColor = $True
$btnAdd.add_Click($handler_btnAdd_Click)
$formEntryEditor.Controls.Add($btnAdd)
$txtAdd.Anchor = 13
$txtAdd.DataBindings.DefaultDataSourceUpdateMode = 0
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 12
$System_Drawing_Point.Y = 12
$txtAdd.Location = $System_Drawing_Point
$txtAdd.Name = "txtAdd"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 20
$System_Drawing_Size.Width = 226
$txtAdd.Size = $System_Drawing_Size
$txtAdd.TabIndex = 6
$txtAdd.add_KeyDown($handler_txtAdd_KeyDown)
$formEntryEditor.Controls.Add($txtAdd)
$btnCancel.Anchor = 10
$btnCancel.DataBindings.DefaultDataSourceUpdateMode = 0
$btnCancel.DialogResult = 2
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 210
$System_Drawing_Point.Y = 265
$btnCancel.Location = $System_Drawing_Point
$btnCancel.Name = "btnCancel"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 109
$btnCancel.Size = $System_Drawing_Size
$btnCancel.TabIndex = 4
$btnCancel.Text = "Abbrechen"
$btnCancel.UseVisualStyleBackColor = $True
$btnCancel.add_Click($handler_btnCancel_Click)
$formEntryEditor.Controls.Add($btnCancel)
$btnSave.Anchor = 10
$btnSave.DataBindings.DefaultDataSourceUpdateMode = 0
$btnSave.DialogResult = 1
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 88
$System_Drawing_Point.Y = 265
$btnSave.Location = $System_Drawing_Point
$btnSave.Name = "btnSave"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 116
$btnSave.Size = $System_Drawing_Size
$btnSave.TabIndex = 3
$btnSave.Text = "Speichern"
$btnSave.UseVisualStyleBackColor = $True
$btnSave.add_Click($handler_btnSave_Click)
$formEntryEditor.Controls.Add($btnSave)
$btnDown.Anchor = 9
$btnDown.DataBindings.DefaultDataSourceUpdateMode = 0
$btnDown.Font = New-Object System.Drawing.Font("Microsoft Sans Serif",9.75,0,3,1)
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 244
$System_Drawing_Point.Y = 146
$btnDown.Location = $System_Drawing_Point
$btnDown.Name = "btnDown"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 75
$btnDown.Size = $System_Drawing_Size
$btnDown.TabIndex = 2
$btnDown.Text = "˅"
$btnDown.UseVisualStyleBackColor = $True
$btnDown.add_Click($handler_btnDown_Click)
$formEntryEditor.Controls.Add($btnDown)
$btnUp.Anchor = 9
$btnUp.DataBindings.DefaultDataSourceUpdateMode = 0
$btnUp.Font = New-Object System.Drawing.Font("Microsoft Sans Serif",9.75,0,3,1)
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 244
$System_Drawing_Point.Y = 117
$btnUp.Location = $System_Drawing_Point
$btnUp.Name = "btnUp"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 23
$System_Drawing_Size.Width = 75
$btnUp.Size = $System_Drawing_Size
$btnUp.TabIndex = 1
$btnUp.Text = "˄"
$btnUp.UseVisualStyleBackColor = $True
$btnUp.add_Click($handler_btnUp_Click)
$formEntryEditor.Controls.Add($btnUp)
$lbItems.Anchor = 15
$lbItems.DataBindings.DefaultDataSourceUpdateMode = 0
$lbItems.FormattingEnabled = $True
$System_Drawing_Point = New-Object System.Drawing.Point
$System_Drawing_Point.X = 12
$System_Drawing_Point.Y = 38
$lbItems.Location = $System_Drawing_Point
$lbItems.Name = "lbItems"
$System_Drawing_Size = New-Object System.Drawing.Size
$System_Drawing_Size.Height = 212
$System_Drawing_Size.Width = 226
$lbItems.Size = $System_Drawing_Size
$lbItems.TabIndex = 0
$lbItems.add_SelectedIndexChanged($handler_lbItems_SelectedIndexChanged)
$lbItems.add_KeyUp($handler_lbItems_KeyUp)
$formEntryEditor.Controls.Add($lbItems)
#endregion Generated Form Code
#Save the initial state of the form
$InitialFormWindowState = $formEntryEditor.WindowState
#Init the OnLoad event to correct the initial state of the form
$formEntryEditor.add_Load($OnLoadForm_StateCorrection)
#Show the Form
$formEntryEditor.ShowDialog()| Out-Null
}
FormEntryEditor
Gruß
Wenns das war Thread noch schließen.