Question Effet Bouton quand on appuie sur la touche entrée

Plus d'informations
il y a 6 ans 10 mois #23733 par Faye
Bonjour à toute la communauté,

J'ai une forme avec un textbox et un bouton \"valider\".

Quand j'appuie sur la touche entrée du clavier j'autorise le bouton \"valider\" comme si j'appuyais avec la souris.

Après plusieurs recherches je n'arrive pas à faire en sorte que le bouton \"valider\" réagisse(contour bleu) quand on appuie sur la touche entrée. Et pourtant avec la souris c'est bien visible.

[code:1]
$Form1.KeyPreview = $true
$Form1.Add_keydown({if ($_.KeyCode -eq \"Enter\"«»)
{
# If Enter, perform click
$boutton_valider.PerformClick()
$boutton_valider.Focus()

}

})
[/code:1]
J'ai joint une image correspondant au rendu désiré <br><br>Message édité par: Simba, à: 15/06/17 12:31
Pièces jointes :

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

Plus d'informations
il y a 6 ans 10 mois #23761 par Marc
Salut,
je ne comprend pas la question :unsure:

Tu souhaite que quand presse Entrée le bouton s'active, lance l'action ou prenne juste le focus ?

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

Plus d'informations
il y a 6 ans 10 mois #23762 par Faye
Qu'il prenne le focus
Quand je presse entrée, le bouton lance l'action mais ne réagit pas donc l'utilisateur n'a pas de retour visible

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

Plus d'informations
il y a 6 ans 10 mois #23763 par Marc
C'est drôle parce que chez moi ton code fonctionne :huh:

[code:1]
[reflection.assembly]::loadwithpartialname(\&quot;System.Drawing\&quot;«») | Out-Null
[reflection.assembly]::loadwithpartialname(\&quot;System.Windows.Forms\&quot;«») | Out-Null


[scriptblock]$formKeydown =
{
if ($_.KeyCode -eq \&quot;Enter\&quot;«»)
{
# If Enter, perform click
$bouton.PerformClick()
$bouton.Focus()
}
}

$form = New-Object System.Windows.Forms.Form
$form.ClientSize = New-Object System.Drawing.Size(300,300)
$form.Name = \&quot;form\&quot;
$form.Text = \&quot;Form\&quot;
$form.KeyPreview = $True
$form.add_keydown($formKeydown)


$textbox1 = New-Object System.Windows.Forms.TextBox
$textbox1.Location = New-Object System.Drawing.Point(100,30)
$textbox1.Size = New-Object System.Drawing.Size(100,20)
$textbox1.Text = \&quot;\&quot;
$textbox1.TextAlign = 'Left'
$textbox1.TabIndex = 0
$form.Controls.Add($textbox1)

$bouton = New-Object System.Windows.Forms.Button
$bouton.Location = New-Object System.Drawing.Point(100,55)
$bouton.Size = New-Object System.Drawing.Size(75,20)
$bouton.Text = \&quot;bouton\&quot;
$bouton.TabIndex = 1
$bouton.add_click({$textbox1.Text = \&quot;coucou\&quot;})
$form.Controls.Add($bouton)

$form.ShowDialog()| Out-Null
[/code:1]

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

Plus d'informations
il y a 6 ans 10 mois #23764 par Faye
Effectivement c'est bizarre, j'ai testé ton code et ça marche et j'ai le même.

Pour y pallier j'avais défini une couleur sur le bouton et fait un [code:1]start-sleep -s 1[/code:1] pour revenir à la couleur grise.

Ça donne un effet de lumière mais ralentit le script

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

Plus d'informations
il y a 6 ans 10 mois #23765 par Marc
Il doit y avoir un truc dans ton programme qui \&quot;brouille\&quot; le fonctionnement du focus.
Il faudrait le voir dans son entier mais j'imagine qu'il n'est pas petit et contient peut-être des données confidentielles.

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

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