J'ai une zone de texte dans mon application Windows. Il n'autorise que les alphabets et les chiffres. Je veux que quand je tape un alphabet, il devrait être converti en majuscule. J'ai utilisé str.ToUpper () mais le curseur se déplace au début de la chaîne. S'il vous plaît donnez-moi une solution.
Il vous suffit de changer la propriété CharacterChasing en Upper
.
textBox1.CharacterCasing = CharacterCasing.Upper
Pourquoi réinventer la roue, il suffit de définir la propriété 'CharacterCasing' de textBox sur 'Upper'. Vous n'avez pas besoin d'écrire de code.
Dans le cas d'une zone de texte masquée, vous pouvez utiliser '>' (dans la propriété mask) pour mettre les caractères suivants en majuscule. par exemple. Pour une chaîne alphanumérique en entrée (A à Z, 0 à 9) de longueur huit, utilisez le masque '> AAAAAAAA'. Pour limiter aux lettres uniquement (A à Z), utilisez '> LLLLLLLL'.
Vous devez affecter les résultats de ToUpper
dans la zone de texte:
txtBox.Text = txtBox.Text.ToUpper();
Sinon, définissez la propriété CharacterCasing
de la zone de texte sur Upper
:
txtBox.CharacterCasing = CharacterCasing.Upper;
Essayez d’utiliser l’événement KeyPress et le gestionnaire doit ressembler à ce qui suit
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
e.KeyChar= (e.KeyChar.ToString()).ToUpper().ToCharArray()[0];
}
Dans les propriétés de TextBox, définissez simplement CharacterCasing sur Upper. Cela convertira tous les caractères entrés en majuscules.
Peut-être devriez-vous utiliser l'événement: TextBox1_EditValueChanging.
Si à chaque fois le curseur se déplace à la première position, vous pouvez calculer le nombre de caractères de votre texte et déplacer le curseur après le dernier caractère.
// affiche la longueur de tous les caractères saisis
private void BtnLength_Click(object sender, EventArgs e)
{
LblLength.Text = TxtInput.Text.Length.ToString();
}
// make to characters upper
private void btnUpper_Click(object sender, EventArgs e)
{
LblUpper.Text = TxtInput.Text.ToUpper();
}
// fait des caractères en minuscule
private void BtnLower_Click(object sender, EventArgs e)
{
LblLower.Text = TxtInput.Text.ToLower();
}
// afficher les 3 derniers caractères
private void BtnRight_Click(object sender, EventArgs e)
{
LblRight.Text = TxtInput.Text.Substring(TxtInput.Text.Length - 3);
}
// affiche les caractères en position 1 à 3
private void BtnSubscript_Click(object sender, EventArgs e)
{
LblSubscript.Text = TxtInput.Text.Substring(1, 3);
}
// ASCII
private void BtnGo_Click(object sender, EventArgs e)
{
string name;
int letter;
name = TxtInput.Text;
for (int index = 0; index < name.Length; index++)
{
letter = name[index];
MessageBox.Show(letter.ToString());
}
}
//Mot de passe
int InNumTry = 0;
private void BtnGo_Click_1(object sender, EventArgs e)
{
string password;
password = TxtIn.Text;
switch (password)
{
case " ": MessageBox.Show("Passowrd is empty.");
break;
case "MIKE": MessageBox.Show("Password is OK!");
FrmBOO newForm = new FrmBOO();
newForm.Show();
break;
default:
InNumTry++;
MessageBox.Show("Invalid Passwrod, try again!");
TxtIn.Text = "";
TxtIn.Focus();
break;
}
if (InNumTry >= 3)
{
MessageBox.Show("You have tried too many times, have a good day.");
TxtIn.Enabled = false;
}
}
// Ajout du minuteur (Dans le minuteur, ajoutez le code sous ceci (Ajouter add timer1.Start (); dans le formulaire de démarrage))
private void timer1_Tick(object sender, EventArgs e)
{
DateTime datetime = DateTime.Now;
this.LblTime.Text = datetime.ToString();
}
private void mytextbox_KeyPress(object sender, KeyPressEventArgs e)
{
e.KeyChar = Char.ToUpper(e.KeyChar);
}
Cliquez avec le bouton droit sur la zone de texte dans le concepteur, sous Propriétés, modifiez CharacterCasing en Upper.