Question Interface graphique en PowserShell

Plus d'informations
il y a 10 ans 5 mois #21163 par Philippe
merci beaucoup

maintenant que je vois bien ;) je peut te dire que ton script fais ce que tu lui demande !! comme tous les scripts d'ailleurs :evil:

ici :
[code:1]$form1.ShowDialog()
$form2.ShowDialog()
$form3.ShowDialog()[/code:1]
tu ouvre/affiche la première fenêtre($form1.ShowDialog()) et dans ta fenêtre tu ouvre la seconde en faisant suivant et tu la quitte par le bouton quitte.
puis tu ouvre/affiche la deuxième fenêtre($form2.ShowDialog()) et tu la quitte
puis tu ouvre/affiche la troisième fenêtre($form2.ShowDialog()) et tu la quitte

tu verra bien le phénomène en remplacent la fin de ton code comme ceci :
[code:1]$form1.ShowDialog()
sleep 2
$form2.ShowDialog()
sleep 2
$form3.ShowDialog()
[/code:1]

et tu comprendra qu'il te faut enlevé la deuxième ligne !

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

Plus d'informations
il y a 10 ans 5 mois #21165 par Laurent
Un grand merci pour ton aide, et oui dans l'informatique à 80 % des cas l’utilisateur et en cause et non pas la machine elle exécute ce qu'on lui dit.

Bon reste à trouver comment changer une adresse ip à l'aide de text box et j'aurai presque fini

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

Plus d'informations
il y a 10 ans 5 mois #21167 par xyz
Réponse de xyz sur le sujet Re:Interface graphique en PowserShell
Salut,
dans :
[code:1]
#Event Handler ou gestionnaire d'événement
$bouton_suivant.Add_Click(
{

$form1.Close()
$form1.Dispose();
$form2.ShowDialog()

})
$form1.Controls.add($bouton_suivant)
#...
$form1.ShowDialog()
[/code:1]
je te conseille de disposer la fenêtre une fois l'event handler 'terminé' (le close effectué) :
[code:1]
$bouton_suivant.Add_Click(
{

$form1.Close()
$form2.ShowDialog()

})
$form1.Controls.add($bouton_suivant)
#...
$form1.ShowDialog()
$form1.Dispose();
[/code:1]
Mieux :
[code:1]
$bouton_suivant.Add_Click(
{

$form1.Close()
})
$form1.Controls.add($bouton_suivant)
#...
$form1.ShowDialog()
$form1.Dispose();
$form2.ShowDialog()
[/code:1]
L'appel à ShowDialog() passe la fenêtre en mode modal et attend un event, ici Close().
Cela fonctionne tel quel, mais en cas d'évolution on ne peut savoir, il vaut donc mieux faire dans le bon ordre.

Et en fin de script, je préfère restaurer la fenêtre dans un bloc try-catch, ainsi en cas d'erreur bloquante ou de configuration particulière de $ErrorPreference, tu vois ce qui ce passe.
Ceinture/bretelle/parachute.

Tu vois en mode séquentiel le code ne casse pas trois pattes à un canard ;-)

laurenzo34000 écrit:

Bon reste à trouver comment changer une adresse ip à l'aide de text box et j'aurai presque fini

Je te conseille de créer une fonction autonome puis de l’appeler dans l'event handler du textbox ou autre.

Ainsi tu découpes ton code et permet sa réutilisation.<br><br>Message édité par: Laurent Dardenne, à: 4/12/15 14:58

Tutoriels PowerShell

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

Plus d'informations
il y a 10 ans 5 mois #21185 par Laurent
Bonjour Laurent,

Merci pour tout tes conseils et ton aide je test actuellement, les WPF et j'essaye de faire la même chose pour choisir par la suite la solution qui me conviendra le mieux : WPF ou WINFORM

Et pour le moment c'est très différent WPF = XAML pour l'interface + commande POWERSHELL (visual studio ça aide énormément)

WINFORM = Powershell pas trouvé (IDE pour la partie interface, primal form est maintenant payant)

Bonne journée à tous.

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

Plus d'informations
il y a 10 ans 5 mois #21187 par xyz
Réponse de xyz sur le sujet Re:Interface graphique en PowserShell
laurenzo34000 écrit:

WINFORM = Powershell pas trouvé (IDE pour la partie interface, primal form est maintenant payant)

Ce n'est pas un IDE mais tu peux coupler ce module avec un projet Winform Visual Studio.
Avec le XAML effectivement tu simplifie, car il n'est pas nécessaire de convertir le code C# puisque c'est du XML ;)

Tutoriels PowerShell

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

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