Thread: Listbox
View Single Post
Old 12-02-2007   #5 (permalink)
Shay Levi


 
 

Re: Listbox

Small update before the movie starts, to display the listbox with pre selected
items:

$lb = new-object System.Windows.Forms.ListBox
$lb.SelectionMode = [System.Windows.Forms.SelectionMode]::MultiExtended

[void]$lb.Items.Add("powershell")
[void]$lb.Items.Add("rocks!")
$lb.SetSelected(0,$true)
$lb.SetSelected(1,$true)
$form.Controls.AddRange(@($lb,$OK))



HTH


-----
Shay Levi
$cript Fanatic
http://scriptolog.blogspot.com
Hebrew weblog: http://blogs.microsoft.co.il/blogs/scriptfanatic


Quote:

> Anatoli,
>
> Add this line after $lb the declaration:
>
> $lb.SelectionMode = [System.Windows.Forms.SelectionMode]::MultiSimple
>
> or
>
> $lb.SelectionMode =
> [System.Windows.Forms.SelectionMode]::MultiExtended
>
> Then call
>
> $lb.SelectedItems
>
> From MSDN
>
> The SelectionMode property enables you to determine how many items in
> the ListBox a user can select at one time and how the user can make
> multiple-selections. When the SelectionMode property is set to
> SelectionMode.MultiExtended, pressing SHIFT and clicking the mouse or
> pressing SHIFT and one of the arrow keys (UP ARROW, DOWN ARROW, LEFT
> ARROW, and RIGHT ARROW) extends the selection from the previously
> selected item to the current item. Pressing CTRL and clicking the
> mouse selects or deselects an item in the list. When the property is
> set to SelectionMode.MultiSimple, a mouse click or pressing the
> SPACEBAR selects or deselects an item in the list.
>
> I'll have to check for the drop down list tommorow, my wife wants to
> watch
> a movie now :-)
> You can find more information here:
> http://msdn2.microsoft.com/en-us/lib...forms.listbox_
> properties.aspx
>
> -----
> Shay Levi
> $cript Fanatic
> http://scriptolog.blogspot.com
> Hebrew weblog: http://blogs.microsoft.co.il/blogs/scriptfanatic
Quote:

>> Thanks Shay, is there a way to change this around to be a drop down
>> list and how does one select more than one item? I tried to select
>> both items supplied in the script and couldn't.
>>
>> regards,
>>
>> Anatoli
>>
>> "Shay Levi" wrote:
>>
Quote:

>>> Hi
>>>
>>> I used Jeffery Snover's get-guiinput.ps1 script and added the
>>> listbox code:
>>>
>>> [void][reflection.assembly]::LoadWithPartialName("System.Windows.For
>>> m s")
>>>
>>> ###############################
>>> # Create the form
>>> $form = New-Object System.Windows.Forms.Form
>>> $form.add_shown({$form.Activate()})
>>> $form.Text = "PowerShell GUI Input"
>>> $form.height = 110
>>> ###############################
>>> # Create the OK button and when the OK button is clicked hide the
>>> form
>>> $OK = new-object system.windows.forms.button
>>> $OK.Text = "OK"
>>> $OK.dock = "bottom"
>>> $OK.Add_Click({
>>> $form.hide()
>>> })
>>> $lb = new-object System.Windows.Forms.ListBox
>>> [void]$lb.Items.Add("powershell")
>>> [void]$lb.Items.Add("rocks!")
>>> ###############################
>>> # add the controls to the form
>>> $form.Controls.AddRange(@($lb,$OK))
>>> ###############################
>>> # show the form
>>> $results = $form.showdialog()
>>> # show the results
>>> $lb.SelectedItem
>>> $lb.SelectedIndex
>>> write-host "SelectedItem=$SelectedItem"
>>> write-host "SelectedIndex=$SelectedIndex"
>>> $form.dispose()
>>> -----
>>> Shay Levi
>>> $cript Fanatic
>>> http://scriptolog.blogspot.com
>>> Hebrew weblog: http://blogs.microsoft.co.il/blogs/scriptfanatic
>>>> Hi,
>>>>
>>>> Can someone kindly show me how to create a listbox where I can
>>>> select multiple selections and pass them to a variable? I can't
>>>> seem to find an example of this anywhere using powershell.
>>>>
>>>> thanks,
>>>>

My System SpecsSystem Spec