C# textbox positionnement du curseur
Je me sens comme je suis en manque juste une simple propriété, mais pouvez-vous mettre le curseur à la fin d'une ligne dans une zone de texte?
private void txtNumbersOnly_KeyPress(object sender, KeyPressEventArgs e)
{
if (Char.IsDigit(e.KeyChar) || e.KeyChar == '\b' || e.KeyChar == '.' || e.KeyChar == '-')
{
TextBox t = (TextBox)sender;
bool bHandled = false;
_sCurrentTemp += e.KeyChar;
if (_sCurrentTemp.Length > 0 && e.KeyChar == '-')
{
//'-' only allowed as first char
bHandled = true;
}
if (_sCurrentTemp.StartsWith(Convert.ToString('.')))
{
//add '0' in front of decimal point
t.Text = string.Empty;
t.Text = '0' + _sCurrentTemp;
_sCurrentTemp = t.Text;
bHandled = true;
}
e.Handled = bHandled;
}
Après les essais de '.' comme premier caractère, le curseur se place avant le texte qui est ajouté. Ainsi, au lieu de "0.123", les résultats sont "1230." sans déplacer le curseur moi-même.
Aussi je m'excuse si c'est une double question.
C'est WPF, droit?
OriginalL'auteur Jim | 2010-05-04
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur Dean Kuga
dans WPF, vous devez utiliser :
où 0 est le nombre de caractères sélectionnés
OriginalL'auteur Rui Marques
Réglage de la
SelectionStart
de propriété sur la zone de texte contrôle de la position du curseur.OriginalL'auteur Jacob G
En supposant que vous êtes à l'aide de WinForms et pas WPF...
OriginalL'auteur Mark Synowiec
Ce sera utile.
OriginalL'auteur özcan şahsuvar