Ho una casella di testo nella mia applicazione Windows. Permette solo alfabeti e cifre. Voglio che quando scrivo qualsiasi alfabeto, deve essere convertito in maiuscolo. Come posso farlo e in quale evento? Ho usato str.ToUpper() ma il cursore si sta spostando all'inizio della stringa. Per favore dammi una soluzione.Come convertire la stringa in maiuscolo nella finestra di testo di Windows?
risposta
Hai solo bisogno di cambiare CharacterChasing immobili a Upper
.
textBox1.CharacterCasing = CharacterCasing.Upper
è necessario assegnare i risultati di ToUpper
torna alla casella di testo:
txtBox.Text = txtBox.Text.ToUpper();
In alternativa, impostare la proprietà CharacterCasing
della casella di testo per Upper
:
txtBox.CharacterCasing = CharacterCasing.Upper;
no, farlo in pressione di un tasto o di un evento o keydown keyup sposta il cursore alla posizione zero nella casella di testo come ho detto nella mia interrogazione. – Sukanya
@Sukanya - Infatti. Questo è il motivo per cui non dovresti farlo su quei gestori di eventi.Puoi farlo con il gestore di eventi 'LostFocus', ma devi fare attenzione, ma una soluzione migliore è semplicemente impostare la proprietà' CharacterCasing'. – Oded
Provare a utilizzare l'evento KeyPress e il gestore deve essere simile al seguente;
Forse dovresti usare l'evento: TextBox1_EditValueChanging.
Se ogni volta che il cursore si sposta nella prima posizione, è possibile calcolare il numero di caratteri nel testo e spostare il cursore dopo l'ultimo carattere.
private void mytextbox_KeyPress(object sender, KeyPressEventArgs e)
{
e.KeyChar = Char.ToUpper(e.KeyChar);
}
è di sola lettura. – Tommix
Nelle proprietà di TextBox è sufficiente impostare CharacterCasing su Upper. Converte tutto il carattere inserito in maiuscolo.
- txtInput // Questo è l'utente immette testo
- LblLengthstrong // Etichetta per mostrare lunghezza
- LblUpper // Label che mostra in maiuscolo
- LblLower // Label che mostra in minuscolo
- LblRight // Label che mostra mostra ultimi 3 caratteri
- LblSubscript // Label che mostra i caratteri da 1 a 3
// mostra lunghezza di tutti i caratteri inputed
private void BtnLength_Click(object sender, EventArgs e)
{
LblLength.Text = TxtInput.Text.Length.ToString();
}
// far caratteri superiore
private void btnUpper_Click(object sender, EventArgs e)
{
LblUpper.Text = TxtInput.Text.ToUpper();
}
// rendono caratteri in minuscolo
private void BtnLower_Click(object sender, EventArgs e)
{
LblLower.Text = TxtInput.Text.ToLower();
}
// spettacolo ultimi 3 caratteri
private void BtnRight_Click(object sender, EventArgs e)
{
LblRight.Text = TxtInput.Text.Substring(TxtInput.Text.Length - 3);
}
// mostrano caratteri in posizione da 1 a 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());
}
}
// password
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;
}
}
// Aggiunta timer (Nel timer aggiungere il codice sotto questo (Aggiungi aggiungi timer1.Start(); sotto forma di avvio)
private void timer1_Tick(object sender, EventArgs e)
{
DateTime datetime = DateTime.Now;
this.LblTime.Text = datetime.ToString();
}
Fare clic destro TextBox in Progettazione, in Proprietà cambiano CharacterCasing al superiore.
Perché reinventare la ruota, basta impostare la proprietà "CharacterCasing" di textBox su "Superiore". Non è necessario scrivere alcun codice.
In caso di testo mascherato, si può usare '>' (in proprietà maschera) per rendere seguenti caratteri maiuscoli. per esempio. Per una stringa alfanumerica di input (A-Z, 0-9) di lunghezza otto, utilizzare la maschera '> AAAAAAAA'. Per limitare solo alle lettere (A-Z), utilizzare '> LLLLLLLL'.
Questo è il modo migliore ... CHEEERS !!! –
Questa dovrebbe essere la risposta accettata! – henrikmerlander
Dovrebbe essere la migliore risposta! – Jim
+1, è più appropriato. – ABH
@Ferhad, grazie mille. – Sukanya