Question Listbox

Plus d'informations
il y a 15 ans 6 mois #7811 par Debbia
Listbox a été créé par Debbia
Bonjour,

Je rencontre un blocage sur WinForms.

En fait j'aimerais créer une Listbox me permettant de lancer des scripts. J'ai tout mis en forme mais je n'arrive pas à mes fins.

[code:1][void] [System.Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
[void] [System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\"«»)

$objForm = New-Object System.Windows.Forms.Form
$objForm.Text = \"Script Launcher V1.0\"
$objForm.Size = New-Object System.Drawing.Size(300,370)
$objForm.StartPosition = \"CenterScreen\"

$objForm.KeyPreview = $True
$objForm.Add_KeyDown({if ($_.KeyCode -eq \"Enter\"«»)
{$x=$objListBox.SelectedItem;$objForm.Close()}})
$objForm.Add_KeyDown({if ($_.KeyCode -eq \"Escape\"«»)
{$objForm.Close()}})

$OKButton = New-Object System.Windows.Forms.Button
$OKButton.Location = New-Object System.Drawing.Size(75,300)
$OKButton.Size = New-Object System.Drawing.Size(75,23)
$OKButton.Text = \"OK\"
$OKButton.Add_Click({$SCRIPT=$objListBox.SelectedItem;$objForm.Close();echo $SCRIPT})
$objForm.Controls.Add($OKButton)

$CancelButton = New-Object System.Windows.Forms.Button
$CancelButton.Location = New-Object System.Drawing.Size(150,300)
$CancelButton.Size = New-Object System.Drawing.Size(75,23)
$CancelButton.Text = \"Cancel\"
$CancelButton.Add_Click({$objForm.Close()})
$objForm.Controls.Add($CancelButton)

$objLabel = New-Object System.Windows.Forms.Label
$objLabel.Location = New-Object System.Drawing.Size(10,20)
$objLabel.Size = New-Object System.Drawing.Size(280,20)
$objLabel.Text = \"Sélectionner le script à lancer:\"
$objForm.Controls.Add($objLabel)

$objListBox = New-Object System.Windows.Forms.ListBox
$objListBox.Location = New-Object System.Drawing.Size(10,40)
$objListBox.Size = New-Object System.Drawing.Size(260,20)
$objListBox.Height = 250

Get-Content \"C:\Documents and Settings\j.debbia\Bureau\Powershell\scripts.config\" | ForEach-Object {[void] $objListBox.Items.Add($_)}


if ($SCRIPT -eq \"GrosFichiers\"«») {echo test}

$objForm.Controls.Add($objListBox)
$objForm.Topmost = $True

$objForm.Add_Shown({$objForm.Activate()})
[void] $objForm.ShowDialog()[/code:1]

En gros, j'initialise ma Listbox avec un fichier .config comportant le nom des scripts et si je sélectionne un des scripts il m'affiche \"test\".

Soucis, ça ne marche pas et je ne sais pas pourquoi!

Quelqu'un pourrait m'aider?

Merci d'avance.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 15 ans 6 mois #7826 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Listbox
n4rk0o écrit:

Soucis, ça ne marche pas et je ne sais pas pourquoi!

Ton test doit être placé aprés le showDialog, car c'est un événement de la winform qui renseigne ta variable $Script.
Ensuite en procédant ainsi tes scripts ne peuvent être paramètrés.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.036 secondes
Propulsé par Kunena