TextBox multiligne

Signaler
Messages postés
3
Date d'inscription
mercredi 15 novembre 2000
Statut
Membre
Dernière intervention
9 mars 2006
-
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
Bonjour
J'ai un problème avec un textbox multiligne. Je suis entrain de coder une application de chat. Quand l'utilisateur veut envoyer son message, évidemment il n'a qu'à appuyer sur "Entrée".
Dans mon code,

private void txtMoi_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
// Envoi du message quand on fait la touche Retour
if(e.KeyCode == Keys.Enter)
EnvoyerMsg();
}

Le problème est que même si je "clear" le textbox dans EnvoyerMsg(), le fait d'avoir appuyé sur Entrée fait en sorte que le curseur se retrouve systématiquement au début de la deuxième ligne et non de la première.
Quelqu'un peut m'aider ?????

1 réponse

Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
Salut, si tu as un bouton nommé "Envoyer" par exemple dans ta forme il peut être intéressant d'utiliser la propriété TextBox.AcceptsReturn et Form.AcceptButton en plus d'être pratique ça évitera le retour à la ligne du curseur.


Sinon essaye ça :


private void textBox1_KeyPress( object sender, KeyPressEventArgs e )
{
if ( e.KeyChar = = ( char )13 )
{
SendMsg( );
e.Handled = true;
}
}


Ou ça :


private void textBox1_KeyDown( object sender, KeyEventArgs e )
{
if ( e.KeyCode == Keys.Enter )
{
SendMsg( );
e.SuppressKeyPress = true; // .NET 2.0
}
}