El siguiente programa calculará el factorial de un número al pulsar la tecla Enter. Para crear el mismo se necesitarán dos textbox, con sus nombres por defecto textbox1 y textbox2.
Para que funcione cuando se presione la tecla Enter, es necesario escribir el código en el evento Keydown (del textbox1) al cual se puede acceder desde Propiedades > Eventos. (El botón eventos tiene la forma de un rayo).
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
}
Dentro del mismo escribimos lo siguiente:
if (e.KeyCode == Keys.Enter)
{
if (textBox1.Text.Trim() == "")
if (textBox1.Text.Trim() == "")
{
textBox2.Text = "";
MessageBox.Show("Debe digitar un numero");
}
else
{
int n = int.Parse(textBox1.Text);
int x = 1;
for (int i = x; i <= n; i++)
{
x = x * i;
textBox2.Text = i + "! = " + x.ToString();
}
}
}
Explicación del código:
-if (e.KeyCode == Keys.Enter): Pregunta si la tecla que se ha pulsado es la tecla Enter.
-if (textBox1.Text.Trim() == "")
{
textBox2.Text = "";
MessageBox.Show("Debe digitar un numero");
}: Se utiliza para validar el textbox1, preguntado si esta vacio, entonces muestra un mensaje.
-int n = int.Parse(textBox1.Text): Se le asigna a la variable n el valor del textbox1, convirtiendo el valor de este en entero.
-int x = 1: Se declara la variable que almacenara el valor entero 1.
-for (int i = x; i <= n; i++): Ciclo For, que dice:
int i = x: La variable i sera igual a la variable x.
i <= n: mientras i sea menor o igual que n (el valor del textbox1).
i++: entonces se incrementara la variable i.
Mientras se de el caso de arriba entonces:
-x = x * i: Se asigna a la variable x el resultado de la multiplicación de x por i;
-textBox2.Text = n + "! = " + x.ToString(): Finalmente el valor del textbox2 sera igual a el valor de la variable x que almacena el resultado final. Se concatena la variable n que almacena el valor digitado en el textbox1 con la cadena !, que se utiliza para representar el factorial, el símbolo de igual y la variable x. El símbolo + se utiliza para la concatenación, los caracteres deben ir entre comillas. Se debe especificar al final la función ToString() para convertir los valores a presentar en el textbox en cadenas.
-if (textBox1.Text.Trim() == "")
{
textBox2.Text = "";
MessageBox.Show("Debe digitar un numero");
}: Se utiliza para validar el textbox1, preguntado si esta vacio, entonces muestra un mensaje.
-int n = int.Parse(textBox1.Text): Se le asigna a la variable n el valor del textbox1, convirtiendo el valor de este en entero.
-int x = 1: Se declara la variable que almacenara el valor entero 1.
-for (int i = x; i <= n; i++): Ciclo For, que dice:
int i = x: La variable i sera igual a la variable x.
i <= n: mientras i sea menor o igual que n (el valor del textbox1).
i++: entonces se incrementara la variable i.
Mientras se de el caso de arriba entonces:
-x = x * i: Se asigna a la variable x el resultado de la multiplicación de x por i;
-textBox2.Text = n + "! = " + x.ToString(): Finalmente el valor del textbox2 sera igual a el valor de la variable x que almacena el resultado final. Se concatena la variable n que almacena el valor digitado en el textbox1 con la cadena !, que se utiliza para representar el factorial, el símbolo de igual y la variable x. El símbolo + se utiliza para la concatenación, los caracteres deben ir entre comillas. Se debe especificar al final la función ToString() para convertir los valores a presentar en el textbox en cadenas.