0% encontró este documento útil (0 votos)
180 vistas22 páginas

Programación en Visual C#: Guía Completa

El documento resume los conceptos básicos de programación en Visual C#, incluyendo el uso de variables, operaciones matemáticas, métodos, condicionales if-else y switch, ciclos while y for, clases y objetos, herencia y validación de datos. Se explican ejemplos de código para cada uno de estos temas fundamentales usando botones y cuadros de diálogo para mostrar resultados.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
180 vistas22 páginas

Programación en Visual C#: Guía Completa

El documento resume los conceptos básicos de programación en Visual C#, incluyendo el uso de variables, operaciones matemáticas, métodos, condicionales if-else y switch, ciclos while y for, clases y objetos, herencia y validación de datos. Se explican ejemplos de código para cada uno de estos temas fundamentales usando botones y cuadros de diálogo para mostrar resultados.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

RESUMEN PROGRAMANDO EN VISUAL C#

1 VARIABLES DE MEMORIA
private void button1_Click(object sender, EventArgs e) { //Crear Variables int Edad; string Nombre; //Asignar valores Edad = 34; Nombre = "Fulanito"; //Mostar variables [Link]("La edad de: "+Nombre+" es de "+ Edad+" aos"); }

2 OPERACIONES CON VARIABLES NUMRICAS


private void button2_Click(object sender, EventArgs e) { //Crear variables numricas float a, b; //Asignar valores a las variables a = 3; b = 4; //Realizar las 4 operaciones aritmeticas y mostrar resultados [Link]("La suma de los nmeros " + a + " + " + b + " es de: "+(a+b)); [Link]("La resta de los nmeros " + a + " - " + b + " es de: " + (a-b)); [Link]("El producto de los nmeros " + a + " * " + b + " es de: " + (a*b)); [Link]("La divisin de los nmeros " + a + " / " + b + " es de: " + (a/b));

private void button9_Click(object sender, EventArgs e) { //Uso de potencias y raiz cuadrada int bases = 10; int altura = 15; double raiz = [Link]([Link](bases, 2) + [Link](altura, 2));

[Link]("La raiz es: " + raiz); }

3 MTODOS - Hay que agregar una nueva CLASE, y ponerle el nombre de mtodos.

class Metodos { //Crear metodos publicos public static int sumar(int num1, int num2) { return (num1 + num2); } public static int Multi(int num1, int num2) { return (num1 * num2); }

static public int Resta(int num1, int num2) { int resta; resta = num1 - num2; return (resta); } }

Dentro del formulario en el botn se escribe el siguiente cdigo:


private void button3_Click(object sender, EventArgs e) { //Crear variables numricas int a, b, Respuesta, Producto, Resta; //Asignar valores a las variables a = 3; b = 4; //Llamar nuestros mtodos Respuesta=[Link](a, b); Producto = [Link](a, b); Resta = [Link](a, b); //Mandamos los resultados a lables [Link] = [Link](); [Link] = [Link](); //Mandamos los resultados a textbox [Link] = [Link](); [Link] = [Link]();

//Limpiar de manera rpida foreach (Control objetoContoles in [Link]) { if (objetoContoles is TextBox) { [Link] = ""; //Enfoco en el primer TextBox [Link](); } }

//Mostramos el resultado [Link]("El resultado de la suma es: " + Respuesta); [Link]("El resultado del producto es: " + Producto); [Link]("El resultado del producto es: " + Resta); }

4 Ingresar Datos desde el teclado:


private void button5_Click(object sender, EventArgs e) { //Crear variables numricas int a, b, Respuesta, Producto; //Asignar valores a las variables

a = Convert.ToInt32([Link]); b = Convert.ToInt32([Link]); //Llamar nuestros mtodos Respuesta = [Link](a, b); Producto = [Link](a, b);

//Mostramos el resultado [Link]("El resultado de la suma es: " + Respuesta); [Link]("El resultado del producto es: " + Producto);

4.1 LIMPIAR DATOS DE LOS TEXTBOX


private void btnLimpiar_Click(object sender, EventArgs e) { //Limpiar de manera rapida foreach (Control objetoContoles in [Link]) { if (objetoContoles is TextBox) { [Link] = ""; //Enfoco en el primer TextBox, el cursor se pone en el TextBox indicado [Link](); } }

5 Operadores de Adicin Int X=3 X = X + 3 equivale a X += 3 Es lo mismo para la resta, multiplicacin y divisin. X++; Sumamos 1 a la variable X--; Restamos 1 a la variable.

6 Vectores

private void button6_Click(object sender, EventArgs e) { //Declarar Vectores string[] alumnos = new string[3]; //Llenar el vector o lista con Datos alumnos[0] = "Mario"; alumnos[1] = "Fabiola"; alumnos[2] = "Refugio"; //Mostrar el contenido del vector [Link]("El nombre del alumnos es: " + alumnos[1]); }

7 EJEMPLO IF
private void button7_Click(object sender, EventArgs e) { int num; num = Convert.ToInt32([Link]); if (num == 10) { [Link]("El numero es 10"); } else { [Link]("El numero no es 10. incorrecto"); } }

______________________________
private void button7_Click(object sender, EventArgs e) { int num; bool Valor = true; //and //or //Diferente a //Negacin && || != !

num = Convert.ToInt32([Link]); if (num > 10) { [Link]("El numero es MAYOR A 10"); } else { [Link]("El numero no es 10 O MENOR"); } }

___________________________________________ private void button7_Click(object sender, EventArgs e) { int num; string nombre="Pedro"; bool Valor = true; //and && //or || //Diferente a //Negacin

!= !

num = Convert.ToInt32([Link]); //if (Valor) //if (nombre=="Pedro" && num == 10) if (num == 10) { [Link]("El numero es 10"); } else { [Link]("El numero no es 10. incorrecto"); } }

8 EJEMPLO SWITCH
private void button8_Click(object sender, EventArgs e) { int Op;

Op = Convert.ToInt32([Link]); switch (Op) { case 1: [Link]("Seleccionaste la Opcin 1"); [Link] = ""; break; case 2: [Link]("Seleccionaste la Opcin 2"); [Link] = ""; break; default: [Link]("Ocin no vlida"); [Link] = ""; break; } }

Int X=3 X = X + 3 equivale a X += 3 Es lo mismo para la resta, multiplicacin y divisin. X++; Sumamos 1 a la variable X--; Restamos 1 a la variable.

9 Ciclos While, Do-While, For


private void button10_Click(object sender, EventArgs e) { //uso de while int contador = 1; while (contador <= 3) { [Link]("El nmero del contador es: "+(contador++)); } }

--------------------------------------------DO-WHILE
private void button10_Click(object sender, EventArgs e) { //uso de while int contador = 1; do { [Link]("El nmero del contador es: "+(contador++)); } while (contador <= 3); }

--------------------------------------------FOR
private void button10_Click(object sender, EventArgs e) { //uso de while int contador = 1; for (int contador = 0; contador <=3; contador++) { [Link]("El nmero del contador es: " + contador); } }

ATRAPAR ERRORES try { //Condiciones (como condicionar para ingresar solo letras o nmeros a una variable de tipo string)

num = Convert.ToInt32([Link]); } catch { [Link]("Tienes que ingresar un numero entero"); }

10 CLASES Y OBJETOS Creamos una clase y escribimos el sig cdigo


class Alumno { //Atributos private string Nombre; //private que no puedan ser accesados desde fuera de la clase private string Apellido; private int Edad; //Metodo contructor public Alumno(string Nombre, string Apellido, int Edad) //desde fuera podemos asignar parametros { [Link] = Nombre; //this se refiere a los atributos de la clase, recibe los parametros y los asigna a los atributos [Link] = Apellido; [Link] = Edad;

} //Metodos para realizar dos tipos de operaciones como cambiar los valores de los atributos y obtenerlos // Mtodo Get (permite obtener informacin de los atributos de nuestra clase. public string ComentarNombre() //Podemos saber desde fuera el valor de este atributo ya que es public { return [Link]; } public string ComentarApellido() { return [Link]; } public int ComentarEdad() { return [Link]; }

//Mtodos SET para modificar la informacin, los atributos de la clase public void CambiarNombre(string Nombre) //con el void indicamos que no devolvemos nada { [Link] = Nombre; } public void CambiarApellido(string Apellido) { [Link] = Apellido; } public void CambiarEdad(int Edad) { [Link] = Edad; } }

---Dentro del evento clik botn mostrar


private void cmbMostrar_Click(object sender, EventArgs e) { //Instanciar el objeto Alumno (creamos el objeto) Alumno Alumno_Fulanito = new Alumno("Yomero", "Gomez", 34); //Muestra los datos del objeto Alumno_Fulanito [Link]("Datos del alumno" + "\n Nombre: " + Alumno_Fulanito.ComentarNombre() + "\n Apellido: " + Alumno_Fulanito.ComentarApellido() + "\n Edad: " + Alumno_Fulanito.ComentarEdad()); }

private void cmbCambiar_Click(object sender, EventArgs e) { Alumno Alumno_Fulanito = new Alumno("Yomero", "Gomez", 34); Alumno_Fulanito.CambiarNombre([Link]); Alumno_Fulanito.CambiarApellido([Link]); Alumno_Fulanito.CambiarEdad(Convert.ToInt16([Link])); //Muestra los datos del objeto Alumno_Fulanito [Link]("Datos del alumno" + "\n Nombre: " + Alumno_Fulanito.ComentarNombre() + "\n Apellido: " + Alumno_Fulanito.ComentarApellido() + "\n Edad: " + Alumno_Fulanito.ComentarEdad()); }

VALIDACIN Dar de alta la librera: using [Link]; Para mandar mensaje al usuario de lo que se permite introducir private void txtClave_KeyPress(object sender, KeyPressEventArgs e) { if (!([Link]([Link])) && ([Link] != (char)[Link])) { [Link]("Solo se permiten letras sin espacios", "Advertencia", [Link], [Link]); [Link] = true; return; } } Para que se bloquee las teclas que no son necesarias y solo puedan introducir ya sea letras o nmeros. Agregar una nueva clase Validacin class Validacion { public void SoloLetras(KeyPressEventArgs e) { char Letras; Letras = [Link]; //Para obligar a que slo se introduzcan letras if ([Link](Letras)) { [Link] = false; }

else if ([Link](Letras)) //permitir teclas de control como retroceso { [Link] = false; } else if ([Link]([Link])) //permitir espacios { [Link] = false; } else { //el resto de teclas pulsadas se desactivan [Link] = true; } } public void SoloNumeros(KeyPressEventArgs e) { char Numeros; Numeros = [Link];

if ([Link](Numeros)) { [Link] = false; } else if ([Link](Numeros)) { [Link] = false; } else { [Link] = true; } } }

Y dentro del formulario en el Evento KEYPRESS del textbox a tratar


private void txtApellidos_KeyPress(object sender, KeyPressEventArgs e) { [Link](e); } private void txtEdad_KeyPress(object sender, KeyPressEventArgs e) { [Link](e); }

11. HERENCIA Creamos una clase Padre


class Animales { //Atributos public string IdAnimal; public string Nombre; public string Color; public int Edad; //Mtodo contructor (para poder accesar a los atributos y modificarlos) public Animales(string IdAnimal, string Nombre, string Color, int Edad) { [Link] = IdAnimal; [Link] = Nombre; [Link] = Color; [Link] = Edad; }

/*Apartir de aqu, colocamos todos lod Metodos para realizar * dos tipos de operaciones como modificar y/o ingresar * los valores de los atributos y obtenerlos para mostrarlos*/ //Mtodos Get public string ObtenerIdAnimal() { return [Link]; } public string ObtenerNombre() { return [Link]; } public string ObtenerColor() { return [Link]; } public int ObtenerEdad() { return [Link]; } //Mtodos Set, para ingresar o modificar los valores de los atributos public void ModificarIdAnimal(string IdAnimal) { [Link] = IdAnimal; } public void ModificarNombre(string Nombre) { [Link] = Nombre; } public void ModificarColor(string Color) { [Link] = Color; }

public void ModificarEdad(int Edad) { [Link] = Edad; }

/*Declaramos los mtodos y funciones(lo que realizan) Acciones comunes de los animales*/ public void Comer() { [Link]("El anumal est cominedo"); } public void Dormir() { [Link]("El anumal est durminedo"); } public void Aparear() { [Link]("El animal est apareando"); } } Creamos la clase hija: class Peces : Animales /*Le indicamos que la clase Peces va a heredar * los atributos y mtodos de la clase padre(Animales)*/ { /*Puedes usar el cdigo que se genera con "propfull" y tabulador * para automatizar la declaracin de mtodo contructor y metodos Get y Set*/ //Declaramos los atributos propios de la clase hijo private string tipo_aguas; //Mtodo contructor /*En el contructor de la clase hija, debemos integrar todos los atributos * que va a heredar y los propios de su clase*/ public Peces(string IdAnimal, string Nombre, string Color, int Edad, string tipo_aguas) :base(IdAnimal, Nombre, Color, Edad) //en esta seccin se debe de inidcar con la instruccin (base:)Los atributos que heredamos { /*Solo generamos el cdigo de los atributos propios de la clase hijo * ya que no es necesario vovler a contruir los atributos de la clase padre*/ this.tipo_aguas = tipo_aguas; } //Declaramos el mtodo(s) get public string ObtenerTipo_aguas() { return this.tipo_aguas; }

//Declaramos el mtodo set(s) public void ModificarTipo_aguas(string tipo_aguas) { this.tipo_aguas = tipo_aguas; }

//Declaramos los mtodos y funciones propios de la clase hija (lo que hacen los peces) public void Nadar() { [Link]("El pez est nadando"); }

} En la vista diseo, puede quedar de la siguiente forma:

Cdigo para el Form1:


public partial class Form1 : Form { Animales Tipo_Animal = new Animales("", "", "", 0); //Este es un objeto generado desde la clase padre, con sus atributos y funciones Peces Tipo_Pez = new Peces("","","",0,""); //Este es un objeto creado apartir de la clase hija que hereda los atributos y funciones d ela clase padres

public Form1() {

InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { } //Realizamos la intruccin de guardar desde la clase padre Animales private void cmbGuardar_Click(object sender, EventArgs e) { /*El objeto tipo_Animal de la clase padre (Animales), * accede a sus atributos declaradas en esta clase*/ Tipo_Animal.ModificarIdAnimal([Link]); Tipo_Animal.ModificarNombre([Link]); Tipo_Animal.ModificarColor([Link]); Tipo_Animal.ModificarEdad(Convert.ToInt16([Link])); [Link]("Los datos fueron guardados"); }

//Mostramos todos los atributos de la clase padre private void cmbMostrar_Click(object sender, EventArgs e) { [Link]("Los datos del animal clase padre son: " // El objeto Tipo_Animal de la clase Padre(Animales) accede a sus atributos + "\n Clave: " + Tipo_Animal.ObtenerIdAnimal() + "\n Nombre: " + Tipo_Animal.ObtenerNombre() + "\n Color: " + Tipo_Animal.ObtenerColor() + "\n Edad: " + Tipo_Animal.ObtenerEdad()); } private void cmbComer_Click(object sender, EventArgs e) { /* El objeto Tipo_Animal de la clase Padre(Animales) * accede a su funcin (Comer) declarada en esta clase*/ Tipo_Animal.Comer(); } private void cmbDormir_Click(object sender, EventArgs e) { /* El objeto Tipo_Animal de la clase Padre(Animales) * accede a su funcin (Dormir) declarada en esta clase*/ Tipo_Animal.Dormir(); } private void cmbAparear_Click(object sender, EventArgs e) { /* El objeto Tipo_Animal de la clase Padre(Animales) * accede a su funcin (Aparear) declarada en esta clase*/ Tipo_Animal.Aparear(); }

//Realizamos la intruccin de guardar desde la clase hija (Peces) private void cmbGuardarPez_Click(object sender, EventArgs e) { /*El objeto tipo_Pez de la clase hija (Peces), * puede acceder a los atributos declarados en la clase Padre (Animales)*/ Tipo_Pez.ModificarIdAnimal([Link]); Tipo_Pez.ModificarNombre([Link]); Tipo_Pez.ModificarColor([Link]); Tipo_Pez.ModificarEdad(Convert.ToInt16([Link])); /*El objeto tipo_Pez de la clase hija (Peces), * puede acceder sus porpios atributos delcarados en la clase (Peces)*/ Tipo_Pez.ModificarTipo_aguas(txtTipo_agua.Text); [Link]("Los datos del pez se guradaron correctamente"); } private void cmbMostrarPez_Click(object sender, EventArgs e) { //Mostramos todos los atributos de la clase padre [Link]("Los datos del animal clase padre son: " + "\n Clave: " + Tipo_Pez.ObtenerIdAnimal() + "\n Nombre: " + Tipo_Pez.ObtenerNombre() + "\n Color: " + Tipo_Pez.ObtenerColor() + "\n Edad: " + Tipo_Pez.ObtenerEdad() //Mostramos loas atributos de la clase hijo + "\n Los datos del pez clase hijo son: " + "\n Tipo de Agua: " + Tipo_Pez.ObtenerTipo_aguas());

} private void cmbNadar_Click(object sender, EventArgs e) { //Mandamos llamar al mtodos Nadar propio de la clase hijo(Peces) Tipo_Pez.Nadar(); } private void cmbTodoPez_Click(object sender, EventArgs e) { //Mandamos llamas los mtodos de la clase padre(Animales) Tipo_Pez.Comer(); Tipo_Pez.Dormir(); Tipo_Pez.Aparear(); //Mandamos llamar el mtodo de la clase hijo Tipo_Pez.Nadar(); } }

12 Polimorfismo Creamos una clase con las siguientes caractersticas

using using using using using

System; [Link]; [Link]; [Link]; [Link];

namespace PolimorfismoEjem1 { class Motocicletas { //Atributos private string Nombre; private string Tipo; private string Marca; private int Modelo; private int CenCub; //Mtodo contructor public Motocicletas(string C_Nombre, string C_Tipo, string C_Marca, int C_Modelo, int C_CenCub) { [Link] = C_Nombre; [Link] = C_Tipo; [Link] = C_Marca; [Link] = C_Modelo; [Link] = C_CenCub; } //Mtodo contructor default public Motocicletas() { [Link] = ""; [Link] = ""; [Link] = ""; [Link] = 0; [Link] = 0; } //Mtodos GET public string MostrarNombre() { return [Link]; } public string MostrarTipo() { return [Link]; } public string MostrarMarca() { return [Link]; } public int MostrarModelo() { return [Link]; } public int MostrarCenCub() { return [Link];

} //Mtodos Set public void GuardarNombre(string M_Nombre) { [Link] = M_Nombre; } public void GuardarTipo(string M_Tipo) { [Link] = M_Tipo; } public void GuardarMarca(string M_Marca) { [Link] = M_Marca; } public void GuardarModelo(int M_Modelo) { [Link] = M_Modelo; } public void GuardarCenCub(int M_CenCub) { [Link] = M_CenCub; } } }

Creamos un formulario con estas caractersticas

Dentro del cdigo del formulario escribimos


namespace PolimorfismoEjem1

{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void label3_Click(object sender, EventArgs e) { } private void cmbGuardar_Click(object sender, EventArgs e) {

Validaciones V1 = new Validaciones(); //codigo para validar que todos los textbox estn llenos [Link](this);

//Creamos el objeto del cual va a usar el costructor con parmetros Motocicletas MyMoto1 = new Motocicletas([Link], [Link], [Link], Convert.ToInt32([Link]), Convert.ToInt32([Link])); [Link]("La motocicleta CON parmetros: " + "\n Nombre: " + [Link]() + "\n Tipo: " + [Link]() + "\n Marca: " + [Link]() + "\n Modelo: " + [Link]() + "\n Centmetros Cbicos: " + [Link]()); //Creamos el objeto del cual va a a usar el costructor SIN parmetros Motocicletas MyMoto2 = new Motocicletas(); [Link]("La motocicleta SIN parmetros: " + "\n Nombre: " + [Link]() + "\n Tipo: " + [Link]() + "\n Marca: " + [Link]() + "\n Modelo: " + [Link]() + "\n Centmetros Cbicos: " + [Link]()); /*Al usar el constructor con un objeto y con parmetros, y tamben usarlo sin parmetros, * es mandar llamar al mismo mtodo pero de distina forma (POLIMORFISMO), al utilizar este mtodo * con parmetros diferentes, estamos usando la sobrecarga del mtodo, * En especfico esta es un plimorfismo paramtrico, ya que indicamos en un objeto mostramos * las variables que obtenemos de los textbox y en el otro mostramos las variafles por DEFAULT * que se codificaron el el mtodo contructor por default*/ } } } Cdigo para validaciones

class Validaciones { //Declaramos una variable de control para revisar si hay un textbox vacio public bool vacio; public void validad(Form1 formulario) { foreach (Control oControls in [Link]) //Buscar en cada textbox de mi formulario { if (oControls is TextBox && [Link] == [Link])//Revisamos que el textboox no este vacio { vacio = true;//Si esta vacio alguno de nuestros textbox asignamos el valor true a nuestra variable } } if (vacio == true) //Si nuestra variable vacio esta en true, mostramos un mensaje de advertencia [Link]("Hay campos sin llenar, favor de ingresar todos los datos","Advertencia", [Link], [Link]); vacio = false; //Devovemos el valor original a nuestra variable

} }

POLIMORFISMO CON SOBRE ESCRITURA

Ejemplo 2: Este ejemplo define una clase base denominada Employee y una clase derivada denominada SalesEmployee. La clase SalesEmployee incluye una propiedad adicional, salesbonus, e invalida el mtodo CalculatePay para tenerlo en cuenta.

class TestOverride { public class Employee { public string name; // Basepay is defined as protected, so that it may be // accessed only by this class and derrived classes. protected decimal basepay; // Constructor to set the name and basepay values. public Employee(string name, decimal basepay) { [Link] = name; [Link] = basepay; }

// Declared virtual so it can be overridden. public virtual decimal CalculatePay() { return basepay; } } // Derive a new class from Employee. public class SalesEmployee : Employee { // New field that will affect the base pay. private decimal salesbonus; // The constructor calls the base-class version, and // initializes the salesbonus field. public SalesEmployee(string name, decimal basepay, decimal salesbonus) : base(name, basepay) { [Link] = salesbonus; } // Override the CalculatePay method // to take bonus into account. public override decimal CalculatePay() { return basepay + salesbonus; } } static void Main() { // Create some new employees. SalesEmployee employee1 = new SalesEmployee("Alice", 1000, 500); Employee employee2 = new Employee("Bob", 1200); [Link]("Employee4 " + [Link] + " earned: " + [Link]()); [Link]("Employee4 " + [Link] + " earned: " + [Link]()); } } /* Output: Employee4 Alice earned: 1500 Employee4 Bob earned: 1200 */

13. Excepciones

14. Flujos y archivos

También podría gustarte