2012-04-11 11 views

Respuesta

52

sólo tiene que cambiar CharacterChasing propiedad a Upper.

textBox1.CharacterCasing = CharacterCasing.Upper 
+2

+1, es más apropiado. – ABH

+1

@Ferhad muchas gracias. – Sukanya

7

Es necesario asignar los resultados de ToUpper de nuevo a la caja de texto:

txtBox.Text = txtBox.Text.ToUpper(); 

Alternativamente, establezca la propiedad CharacterCasing del cuadro de texto para Upper:

txtBox.CharacterCasing = CharacterCasing.Upper; 
+0

no, hacerlo de pulsación de tecla o evento KeyDown o keyup desplaza el cursor en la posición cero en el cuadro de texto como he mencionado en mi pregunta. – Sukanya

+0

@Sukanya - De hecho. Por eso no deberías hacer eso en esos controladores de eventos.Puede hacer esto en el controlador de eventos 'LostFocus', pero debe tener cuidado, pero una mejor solución es simplemente configurar la propiedad' CharacterCasing'. – Oded

2

Intente utilizar el evento KeyPress y el controlador debe ser similar al siguiente;

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
     { 
      e.KeyChar= (e.KeyChar.ToString()).ToUpper().ToCharArray()[0]; 
     } 
0

Tal vez deberías usar el evento: TextBox1_EditValueChanging.

Si cada vez que el cursor se mueve en la primera posición, puede calcular el número de caracteres en su txt y desplazar el cursor después del último charachter.

0
private void mytextbox_KeyPress(object sender, KeyPressEventArgs e) 

{ 

e.KeyChar = Char.ToUpper(e.KeyChar); 

} 
+0

es de solo lectura. – Tommix

1

En propiedades de TextBox, simplemente configure CharacterCasing en Upper. Convertirá todos los caracteres ingresados ​​en mayúsculas.

0
  1. txtInput // esta es la entradas de usuario cuadro de texto
  2. LblLengthstrong // etiqueta para mostrar longitud
  3. LblUpper // Label que lo muestra en mayúsculas
  4. LblLower // Label que lo muestra en minúsculas
  5. LblRight // Label que muestra muestra de los 3 últimos caracteres
  6. LblSubscript // Label que muestra caracteres 1 a 3

// Duración del espectáculo de todos los caracteres inputed

private void BtnLength_Click(object sender, EventArgs e) 
     { 
      LblLength.Text = TxtInput.Text.Length.ToString(); 
     } 

// hacer a los personajes superior

private void btnUpper_Click(object sender, EventArgs e) 
     { 
      LblUpper.Text = TxtInput.Text.ToUpper(); 
     } 

// hacen caracteres a minúsculas

private void BtnLower_Click(object sender, EventArgs e) 
     { 
      LblLower.Text = TxtInput.Text.ToLower(); 
     } 

// Ver los últimos 3 caracteres

private void BtnRight_Click(object sender, EventArgs e) 
     { 
      LblRight.Text = TxtInput.Text.Substring(TxtInput.Text.Length - 3); 
     } 

// muestran caracteres en la posición 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()); 
      } 
     } 

// Contraseña

 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; 
      } 
     } 

// Agregar temporizador (En el temporizador agregue el código debajo de esto (Agregar agregar temporizador1.Inicio(); en el formulario de inicio)

private void timer1_Tick(object sender, EventArgs e) 
     { 
      DateTime datetime = DateTime.Now; 
      this.LblTime.Text = datetime.ToString(); 
     } 
+3

La respuesta es demasiado larga y puede confundir al hombre que pregunta. La pregunta es realmente clara y solo solicita el evento para manejar. – innoSPG

+1

La gente vaga ni siquiera lo lee. – C4u

0

Haga clic derecho en el cuadro de texto en el diseñador, en virtud de propiedades cambian a CharacterCasing superior.

7

Por qué reinventar la rueda, simplemente configure la propiedad 'CharacterCasing' de textBox en 'Upper'. No necesita escribir ningún código.

Make letters in textBox uppercase

En caso de cuadro de texto enmascarado, puede utilizar '>' (en la propiedad de máscara) para hacer siguientes caracteres en mayúsculas. p.ej. Para una cadena alfanumérica de entrada (A-Z, 0-9) de longitud ocho, use la máscara '> AAAAAAAA'. Para restringir a letras solamente (A-Z), use '> LLLLLLLL'.

Make letters in maskedTextBox uppercase

+0

Esta es la mejor manera ... CHEERS !!! –

+0

¡Esta debería ser la respuesta aceptada! – henrikmerlander

+0

¡Debería ser la mejor respuesta! – Jim

Cuestiones relacionadas