Conversor de Temperatura
Activación de Botones
TabControl y ProgressBar
Menú
Un pequeño programa pero bastante útil en ciertas áreas, como la Química podría ser un conversor de temperatura de grados celsius a grados fahrenheit, kelvin o rankine.
Para este pequeño programa necesitaremos componentes comunes, como Botones, Etiquetas y Cajas de Texto. En primer lugar crearemos un Windows Form en C#, en el cual estaremos trabajando a partir de ahora, en form creado deberá contener los siguientes componentes:
Una vez que tengamos la interfaz, nombraremos las cajas de texto dependiendo que tipo de grados se mostraran en el, y finalmente se implementara el código, que se mostrara a continuación:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace ConversorTemperatura
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void label1_Click(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
float cent = float.Parse(this.GradosCent.Text);
float fahr = ((cent * 9) / 5) + 32;
this.Resultado.Text = fahr.ToString();
double kel = (cent + 273.15);
this.Kelvin.Text = kel.ToString();
double rank = ((cent * 1.8) + 491.67);
this.Rankine.Text = rank.ToString();
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
private void label3_Click(object sender, EventArgs e)
{
}
}
}
Una vez teniendo el código implementado, que como podrán observar es bastante simple, únicamente agregando las operaciones en el evento de botón Convertir y automáticamente mostrara la conversión a cualquiera de los grados en la aplicación.
Aquí una pequeña pantalla de demostración del programa:
Este fue una aplicación muy sencilla, enseguida pondremos el enlace para descargar la aplicación para que se pueda examinar con mas detenimiento.
Para esta aplicación simple, en la cual lo único que se hará, es mediante un CheckBox activar y desactivar un botón que muestra un mensaje en un TextBox, para ello necesitaremos un form que incluya lo que se muestra enseguida:
En este form se pueden observar, un CheckBox, dos Buttons, un TextBox y un StatusStrip.
Una vez que tengan el form tal cual se ve en la imagen anterior procederemos a mostrar el código de la aplicación:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _001.Ejemplo
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Do_checked();
}
private void button1_Click(object sender, EventArgs e)
{
textBox1.Text = "Botón Activado";
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
Do_checked();
}
private void button2_Click(object sender, EventArgs e)
{
Close();
}
private void Do_checked()
{
button1.Enabled = checkBox1.Checked;
}
private void Hover(object sender, EventArgs e)
{
toolStripStatusLabel1.Text = "Muestra el mensaje";
}
private void Hover2(object sender, EventArgs e)
{
toolStripStatusLabel1.Text = "Finaliza la aplicación";
}
private void Salida(object sender, EventArgs e)
{
toolStripStatusLabel1.Text = "Iniciado";
}
}
}
Como se puede observar en el código, lo que hace activar y desactivar el botón mediante el CheckBox, es el método creado llamado Do_Checked():
private void Do_checked()
{
button1.Enabled = checkBox1.Checked;
}
Este método realiza la acción de activar el botón cuando el CheckBox este marcado.
Otra parte importante es el uso de los StatusStrip, para ello se necesita crear un metodo que permita mostrar texto en el StatusStrip en el momento que el puntero pase sobre los botones, el metodo para cuando el puntero este posicionado en el boton es el siguiente:
private void Hover(object sender, EventArgs e)
{
toolStripStatusLabel1.Text = "Muestra el mensaje";
}
Esto al momento de agregar en propiedades del botón, MouseHover y seleccionamos el método, automáticamente realizara la acción.
Para la salida del puntero del botón es el siguiente método:
private void Salida(object sender, EventArgs e)
{
toolStripStatusLabel1.Text = "Iniciado";
}
Este método hará que al momento de quitar el puntero del botón regrese el texto del StatusStrip al original cuando inicia la aplicación, y de la misma manera se modifica la propiedad MouseLeave y seleccionar el método de salida para realizar la acción.
Mostramos unas pantallas del resultado de la aplicación:
Se puede observar como se activa el botón con el CheckBox y como se muestre el mensaje en el StatusStrip.
Aquí dejamos el proyecto para que lo analicen:
Para este programa usaremos los componentes TabControl y ProgressBar.
Necesitaremos dos Form para esta aplicación, uno solo necesitara una imagen cualquiera, un ProgressBar y un Timer, el otro Form necesitara lo siguiente:
Las propiedades para que pueda mostrarse esta forma son las siguientes:
Para eliminar el borde del Form y únicamente mostrar la imagen selecciona la opción mostrada.
Una vez tenemos los formularios, pasamos al código:
FORM1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
namespace _002.Ejemplo
{
public partial class Form1 : Form
{
public Form1()
{
Thread t = new Thread(new ThreadStart(SplashStart));
t.Start();
Thread.Sleep(5000);
InitializeComponent();
Do_Checked();
lbl1.Text = DateTime.Now.ToString("G");
t.Abort();
}
private void Do_Checked()
{
tabControl1.Enabled = checkBox1.Checked;
}
public void SplashStart()
{
Application.Run(new Form2());
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
Do_Checked();
}
private void btnMostrar_Click(object sender, EventArgs e)
{
txtBox1.Text = "¡¡Botón Funciona!!";
}
}
}
FORM2:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _002.Ejemplo
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Increment(1);
if (progressBar1.Value == 100)
timer1.Stop();
}
}
}
Algunas de las cosas utilizadas en esta aplicación, como el ProgressBar y el Timer se utilizan en el código del FORM2 en el cual se inicia el Timer y condicionando la ProgressBar se detiene en determinado momento.
En el FORM1 se manda a llama la pantalla de carga con el ProgressBar mediante el siguiente fragmento de código:
public Form1()
{
Thread t = new Thread(new ThreadStart(SplashStart));
t.Start();
Thread.Sleep(5000);
InitializeComponent();
t.Abort();
}
public void SplashStart()
{
Application.Run(new Form2());
}
De esta manera la aplicación finalizara al momento de finalizar el Timer.
Y por ultimo el Label que muestra la fecha y hora, es una sola linea de código:
lbl1.Text = DateTime.Now.ToString("G");
Aquí unas pantallas mostrando el resultado de la aplicación:
Aquí dejamos el proyecto para su descarga:
El segundo form que contenga la imagen se vería algo así después de modificar sus propiedades:
Las propiedades para que pueda mostrarse esta forma son las siguientes:
Para el Timer solo buscamos en sus propiedades y las seleccionamos como se muestra.
Para eliminar el borde del Form y únicamente mostrar la imagen selecciona la opción mostrada.
Y por ultimo, para agregar la imagen seleccionamos la opción BackgroudImage, y damos importar y seleccionamos la imagen que deseen.
Para modificar el tamaño a su gusto den clic a la opción BackgroudImageLayout y seleccionen la deseada.
Una vez tenemos los formularios, pasamos al código:
FORM1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Threading;
namespace _002.Ejemplo
{
public partial class Form1 : Form
{
public Form1()
{
Thread t = new Thread(new ThreadStart(SplashStart));
t.Start();
Thread.Sleep(5000);
InitializeComponent();
Do_Checked();
lbl1.Text = DateTime.Now.ToString("G");
t.Abort();
}
private void Do_Checked()
{
tabControl1.Enabled = checkBox1.Checked;
}
public void SplashStart()
{
Application.Run(new Form2());
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
Do_Checked();
}
private void btnMostrar_Click(object sender, EventArgs e)
{
txtBox1.Text = "¡¡Botón Funciona!!";
}
}
}
FORM2:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _002.Ejemplo
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
progressBar1.Increment(1);
if (progressBar1.Value == 100)
timer1.Stop();
}
}
}
Algunas de las cosas utilizadas en esta aplicación, como el ProgressBar y el Timer se utilizan en el código del FORM2 en el cual se inicia el Timer y condicionando la ProgressBar se detiene en determinado momento.
En el FORM1 se manda a llama la pantalla de carga con el ProgressBar mediante el siguiente fragmento de código:
public Form1()
{
Thread t = new Thread(new ThreadStart(SplashStart));
t.Start();
Thread.Sleep(5000);
InitializeComponent();
t.Abort();
}
public void SplashStart()
{
Application.Run(new Form2());
}
De esta manera la aplicación finalizara al momento de finalizar el Timer.
Y por ultimo el Label que muestra la fecha y hora, es una sola linea de código:
lbl1.Text = DateTime.Now.ToString("G");
Aquí unas pantallas mostrando el resultado de la aplicación:
Aquí dejamos el proyecto para su descarga:
Unos de los programas que podríamos crear para demostrar la aplicación de los componentes expuestos anteriormente, podría ser un pequeño menú, en el cual se ingresen opciones para gestionar la aplicación, como por ejemplo, crear una nueva pantalla, guardar las modificaciones realizadas, imprimir el documento si es que hay alguno en la aplicación, o simplemente salir o finalizar la aplicación.
En seguida se mostrara un ejemplo hecho en clase, en el cual se demuestra lo anteriormente planteado.
Primero que nada, se necesita crear una aplicación Windows Form en C#, a continuación se mostrara lo que debe contener el formulario para realizar con éxito la aplicación:
Como se puede observar es un ContextMenuStrip con tres pestañas: Archivo, Unidad I y Unidad II. En archivo se tiene la opción para editar la aplicación, agregando un nuevo form, guardar los cambios, configurar la impresora para imprimir un documento u otra cosa, y una opción para también abrir una imagen, y finalmente otra opción para finalizar la aplicación,
Unidad I puede mostrar aplicaciones llamándolas en la Solución al igual que Unidad II.
Ademas tenemos un StatusStrip que mostrará la descripción de cada botón.
Ahora mostraremos el código para sus funcionalidades.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace _04.Menu
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
slblStatus.Text = "";
}
private void Leave(object sender, EventArgs e)
{
slblStatus.Text = "";
}
private void MenuNuevo_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void MenuNuevo_MouseHover(object sender, EventArgs e)
{
slblStatus.Text = "Crea un nuevo form";
}
//-----------------------UNIDAD I. FORMULARIOS CON BTNSALIR----------------------
private void ejercicio1ToolStripMenuItem_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void ejercicio2ToolStripMenuItem_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void ejercicio3ToolStripMenuItem_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void ejercicio4ToolStripMenuItem_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void ejercicio5ToolStripMenuItem_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void xToolStripMenuItem_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void promedioDeEdadesToolStripMenuItem_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void carritoDeComprasToolStripMenuItem_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void conversiónAMayúsculasToolStripMenuItem_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void promedioConArraysToolStripMenuItem_Click(object sender, EventArgs e)
{
Nuevo frmNuevo = new Nuevo();
frmNuevo.Show();
}
private void abrirToolStripMenuItem_Click(object sender, EventArgs e)
{
JPG frm = new JPG();
frm.Show();
}
private void Abrir_MouseHover(object sender, EventArgs e)
{
slblStatus.Text = "Abre una imagen .JPG";
}
//-------------------------------UNIDAD II. Programas----------------------------
//-------------------------------UNIDAD II. Programas----------------------------
private void salirToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void Salir_MouseHover(object sender, EventArgs e)
{
slblStatus.Text = "Finaliza la Aplicación";
}
private void ejercicio1ToolStripMenuItem1_Click(object sender, EventArgs e)
{
Form Aritmetica = new _01.Operaciones_Aritmeticas.Form3();
Aritmetica.Show();
}
private void Opeaciones_MouseHover(object sender, EventArgs e)
{
slblStatus.Text = "Abre el Ejercicio 1 de la Unidad II";
}
private void ejercicio2ToolStripMenuItem1_Click(object sender, EventArgs e)
{
Form Meses = new _02.Meses.Form1();
Meses.Show();
}
private void Meses_MouseHover(object sender, EventArgs e)
{
slblStatus.Text = "Abre el Ejercicio 2 de la Unidad II";
}
private void ejercicio3ToolStripMenuItem1_Click(object sender, EventArgs e)
{
Form Catalogo = new _03.Producto.Catalogo();
Catalogo.Show();
}
private void Producto_MouseHover(object sender, EventArgs e)
{
slblStatus.Text = "Abre el Ejercicio 3 de la Unidad II";
}
private void cToolStripMenuItem_Click(object sender, EventArgs e)
{
PrintDialog printDialog1 = new PrintDialog();
DialogResult result = printDialog1.ShowDialog();
}
private void Impresion_MouseHover(object sender, EventArgs e)
{
slblStatus.Text = "Abre Configuración de Impresión";
}
}
}
Aquí mostramos las capturas del resultado del programa ya terminado:
Y al dar clic en la opción Abrir, nos mostrara una pequeña ventana en la cual podemos seleccionar una imagen de nuestro ordenador y nos la mostrara en un pequeño PictureBox, y la ruta de la imagen en un TextBox.
Algunos de los métodos usados en esta aplicación ya están definidos por C# y solo es llamar los métodos.
Uno de ellos es la de la configuración de la impresora, y su código es el siguiente:
Estos métodos ayudan a simplificar nuestro código y optimizar el espacio, ademas evita confusiones a la hora de leer el código para su comprensión.
También ponemos el enlace del proyecto para que puedan visualizarlo de una mejor manera:
En este primer recuadro observamos la visualización del formulario.
Aquí, al dar clic en la opción Configurar Impresora, nos muestra una pantalla emergente con las opciones para configurar la impresora.
Aquí mostramos uno de los programas de la Unidad II al hacer clic en la opción indicada.
Y al dar clic en la opción Abrir, nos mostrara una pequeña ventana en la cual podemos seleccionar una imagen de nuestro ordenador y nos la mostrara en un pequeño PictureBox, y la ruta de la imagen en un TextBox.
Algunos de los métodos usados en esta aplicación ya están definidos por C# y solo es llamar los métodos.
Uno de ellos es la de la configuración de la impresora, y su código es el siguiente:
private void cToolStripMenuItem_Click(object sender, EventArgs e)
{
PrintDialog printDialog1 = new PrintDialog();
DialogResult result = printDialog1.ShowDialog();
}
Estos métodos ayudan a simplificar nuestro código y optimizar el espacio, ademas evita confusiones a la hora de leer el código para su comprensión.
También ponemos el enlace del proyecto para que puedan visualizarlo de una mejor manera:
También agregaremos los proyectos incluidos en la pestaña Unidad II individualmente:
No hay comentarios:
Publicar un comentario