Question
Listbox
- Debbia
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 5
- Remerciements reçus 0
il y a 15 ans 6 mois #7811
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.
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 15 ans 6 mois #7826
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Listbox
n4rk0o écrit:
Ensuite en procédant ainsi tes scripts ne peuvent être paramètrés.
Ton test doit être placé aprés le showDialog, car c'est un événement de la winform qui renseigne ta variable $Script.Soucis, ça ne marche pas et je ne sais pas pourquoi!
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
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Listbox