Question Probleme sur script avec IG

Plus d'informations
il y a 7 ans 2 mois #22943 par Thomas Justice
Bonjour,

Je suis en train de réaliser un petit script en powershell avec une interface graphique toute simple.

Plusieurs problèmes me font obstacles. Mais avant je vous poste mon code :
[code:1]
[reflection.assembly]::loadwithpartialname(\"System.Windows.Forms\"«») | Out-Null
[reflection.assembly]::loadwithpartialname(\"System.Drawing\"«») | Out-Null


$interface = New-Object System.Windows.Forms.Form
$interface.Size = New-Object System.Drawing.Size(300,300)
$interface.Text = \"Choix du jour pour les Stats\"
$interface.StartPosition = \"CenterScreen\"

$Bouton_stat_jour = New-Object System.Windows.Forms.Button
$Bouton_stat_jour.Location = New-Object System.Drawing.Point(100,60)
$Bouton_stat_jour.Size = New-Object System.Drawing.Size(100,60)
$Bouton_stat_jour.Text = \"Stat du jour\"
$Bouton_stat_jour.add_Click($Bouton_stat_jour_OnClick)
$interface.Controls.Add($Bouton_stat_jour)

$Bouton_stat_jour_saisie = New-Object System.Windows.Forms.Button
$Bouton_stat_jour_saisie.Location = New-Object System.Drawing.Point(100,150)
$Bouton_stat_jour_saisie.Size = New-Object System.Drawing.Size(100,60)
$Bouton_stat_jour_saisie.Text = \"Stat sur jour saisie\"
$Bouton_stat_jour_saisie.add_Click($Bouton_stat_jour_saisie_OnClick)
$interface.Controls.Add($Bouton_stat_jour_saisie)



$interface.ShowDialog() | Out-Null

$Bouton_stat_jour_OnClick =
{
$interface.Close()
suite du code ....
}

$Bouton_stat_jour_saisie_OnClick =
{
$interface.Close()
suite du code ....
}
[/code:1]

Quand j'ouvre pour la première fois Powershell et que je lance mon script, j'ai mon interface avec mes deux boutons mais lorsque je clic sur un des boutons rien ne se passe. Si je recompile une deuxième fois, ça fonctionne ! Je ne comprends donc pas.

Ensuite je veux que mon script ce lance à partir d'un fichier .bat, je tape donc la ligne de commande suivante dans mon fichier .bat :
[code:1]
powershell C:/chemin_de_mon_script/monscript.ps1
[/code:1]
Lorsque je lance mon fichier .bat, mon interface apparait mais même problème qu'au dessus, mes boutons ne réagissent pas. J'ai vérifié le Get-ExecutionPolicy et je suis en RemoteSigned donc normalement pas de problème de ce côté là.

Avez-vous une idée pour résoudre mon problème ?

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

Plus d'informations
il y a 7 ans 2 mois #22945 par Guillaume
Réponse de Guillaume sur le sujet Re:Probleme sur script avec IG
Bonjour,

Ce code devrait fonctionner en principe :

[code:1]Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing

Function Stat {

        $interface.Close()
        suite du code .... 
}

Function Saisie {

    $interface.Close()
    suite du code ....
}


$interface = New-Object System.Windows.Forms.Form
$interface.Size = New-Object System.Drawing.Size(300,300)
$interface.Text = \"Choix du jour pour les Stats\"
$interface.StartPosition = \"CenterScreen\"

$Bouton_stat_jour = New-Object System.Windows.Forms.Button
$Bouton_stat_jour.Location = New-Object System.Drawing.Point(100,60)
$Bouton_stat_jour.Size = New-Object System.Drawing.Size(100,60)
$Bouton_stat_jour.Text = \"Stat du jour\"
$Bouton_stat_jour.add_Click({Stat})
$interface.Controls.Add($Bouton_stat_jour)

$Bouton_stat_jour_saisie = New-Object System.Windows.Forms.Button
$Bouton_stat_jour_saisie.Location = New-Object System.Drawing.Point(100,150)
$Bouton_stat_jour_saisie.Size = New-Object System.Drawing.Size(100,60)
$Bouton_stat_jour_saisie.Text = \"Stat sur jour saisie\"
$Bouton_stat_jour_saisie.add_Click({Saisie})
$interface.Controls.Add($Bouton_stat_jour_saisie)




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

Fait nous un retour.

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

Plus d'informations
il y a 7 ans 2 mois #22950 par Thomas Justice
Bonjour,

Merci pour ta réponse, elle fonctionne. As-tu une idée du pourquoi du comment cela ne fonctionnait pas ?

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

Plus d'informations
il y a 7 ans 2 mois #22972 par Guillaume
Réponse de Guillaume sur le sujet Re:Probleme sur script avec IG
Il vaut mieux déclarer tes fonctions en premier et les actions qui les activent ensuite.

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

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