Question Bug affichage Label

Plus d'informations
il y a 14 ans 1 mois #11219 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Bug affichage Label
Essaie ceci :
[code:1]
[void][Reflection.Assembly]::LoadWithPartialName(\"System.Windows.Forms\"«»)
[void][Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\"«»)

$ProgressBar1 = New-Object System.Windows.Forms.ProgressBar
$label0 = new-object System.Windows.Forms.Label

$objDisplayConfig = get-wmiobject win32_displayconfiguration


$progressBar1.Location = new-object System.Drawing.Point( 15,60)
$progressBar1.Size = new-object System.Drawing.Size(220, 20)
$progressbar1.style = 'continuous'
$progressbar1.Maximum = 100

$label0.AutoSize = $true
$label0.Location = new-object System.Drawing.Point(20, 20)
$label0.Name = \"label0\"
$label0.Size = new-object System.Drawing.Size(200,20)
$label0.Text = 'Please wait ...'

$ResH = $objDisplayConfig.PelsWidth
$ResH = $ResH - 300

$objForm = new-object System.Windows.Forms.form
$objForm.ClientSize = new-object System.Drawing.Size(250, 100)
$objForm.Location = new-object System.Drawing.Point($ResH, 20)
$objForm.Controls.Add($progressBar1)
$objForm.Controls.Add($label0)
$objForm.Add_Shown({$objForm.Activate()})
# $objForm.Formborderstyle = 'None'
$objForm.startposition = 'manual'
$objForm.TopMost = 'true'
$objForm.showDialog()
$objForm.Dispose()
[/code:1]
L'exemple d'origine ne fonctionnait pas sur mon poste PS v2 fr sous XP Sp3 fr ( ni sous la console ni sous ISE).

Tutoriels PowerShell

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

Plus d'informations
il y a 14 ans 3 semaines #11221 par Ice
Réponse de Ice sur le sujet Re:Bug affichage Label
Oui avec ce code la fenetre s'affiche bien , mais j'utilise la methode .show() a la base , sinon le script se bloc a l'appel de la methode .showdialog().

Y'a t'il un moyen d'utiliser la methode .showdialog et de continuer a executer le code ?

merci encore

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

Plus d'informations
il y a 14 ans 3 semaines #11224 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Bug affichage Label
Ice écrit:

Y'a t'il un moyen d'utiliser la methode .showdialog et de continuer a executer le code ?

Oui, mais le code doit être dans un event de la form( load ou activate par exemple). Le suite du script PS appelant la form est en attente du close de la form.

Mais dans ton cas tu recherches plutôt un splash screen.
Avec WPF c'est possible, mais il faut déployer un module du chaque poste, pas terrible.
Avec une Winform il faut porter un code C# ou utiliser Add-Type pour créer une classe dérivée de Winform. Sinon rester en mode caractère et utiliser Write-progress, mais je ne pense pas que cela te satisfasse...

Tutoriels PowerShell

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

Plus d'informations
il y a 13 ans 3 semaines #14078 par Durroux
Réponse de Durroux sur le sujet Re:Bug affichage Label
Bonjour,

Je sais que le post date un peu, mais j'ai rencontré exactement le même problème et j'y ai planché dessus pendant quelques heures.

J'ai résolu ce problème tout simplement en ajoutant un refresh sur le Form après le Show.

[code:1]
$Form1.Show()
$Form1.Refresh()
[/code:1]

Je ne sais pas si tu avais finalement résolu ce problème, mais je pense que cette solution facilitera la vie d'autres codeurs de progress bar ;)

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

Plus d'informations
il y a 13 ans 3 semaines #14086 par Matthew BETTON
Réponse de Matthew BETTON sur le sujet Re:Bug affichage Label
Julian écrit:

Bonjour,

Je sais que le post date un peu, mais j'ai rencontré exactement le même problème et j'y ai planché dessus pendant quelques heures.

J'ai résolu ce problème tout simplement en ajoutant un refresh sur le Form après le Show.

[code:1]
$Form1.Show()
$Form1.Refresh()
[/code:1]

Je ne sais pas si tu avais finalement résolu ce problème, mais je pense que cette solution facilitera la vie d'autres codeurs de progress bar ;)


Bonjour Julian,

Merci pour ton retour ;)

@ +

Matthew

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

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