EJERCICIO PROPUESTO:
1.-Modifique la aplicación Conver3, desarrollada anteriormente en este capitulo para que presente una interfaz gráfica similar a la mostrada por la figura siguiente.
En ella puede observar que se han añadido dos etiquetas: una que contiene el etiqueta literal "Fecha" y otra que muestra la fecha actual. También se han añadido dos botones "+1".El botón "+1" que esta a la derecha de la caja de texto que muestra a los grados centigrados incrementa en una unidad y, simultáneamente , modifica la caja de texto grados Fahrenheit para que muestre el valor equivalente.
Un comportamiento análogo tiene el botón "+1" que esta a la derecha de la caja de texto de los grados Fahrenheit.
En cada uno de los botones +1 se va programar.
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 PRACTICA9
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
////private ErrorProvider ProveedorDeError;
//// ProveedorDeError = new ErrorProvider();
private double datoCajaTexto;
private void ctGradosC_Validating(object sender, CancelEventArgs e)
{
TextBox objTextBox = (TextBox)sender;
try
{
datoCajaTexto = Convert.ToDouble(objTextBox.Text);
}
catch (Exception)
{
e.Cancel = true;
objTextBox.SelectAll();
ProveedorDeError.SetError(objTextBox, "Tiene que ser numerico");
//MessageBox.Show("Tiene que ser numerico");
}
}
private void ctGradosF_Validating(object sender, CancelEventArgs e)
{
TextBox objTextBox = (TextBox)sender;
try
{
datoCajaTexto = Convert.ToDouble(objTextBox.Text);
}
catch (Exception)
{
e.Cancel = true;
objTextBox.SelectAll();
ProveedorDeError.SetError(objTextBox, "Tiene que ser numerico");
//MessageBox.Show("Tiene que ser numerico");
}
}
private void ctGradosC_Validated(object sender, EventArgs e)
{
ProveedorDeError.Clear();
conversion(sender);
}
private void ctGradosF_Validated(object sender, EventArgs e)
{
ProveedorDeError.Clear();
conversion(sender);
}
private void conversion(System.Object sender)
{
TextBox objTextBox = (TextBox)sender;
double grados;
if (objTextBox == ctGradosC)
{
grados = datoCajaTexto * 9.0 / 5.0 + 32.0;
ctGradosF.Text = string.Format("{0:F2}", grados);
}
if (objTextBox == ctGradosF)
{
grados = (datoCajaTexto - 32.0) * 5.0 / 9.0;
ctGradosC.Text = string.Format("{0:F2}", grados);
}
}
private void ctGradosC_KeyPress(object sender, KeyPressEventArgs e)
{
TextBox objTextBox = (TextBox)sender;
if (e.KeyChar == Convert.ToChar(13))
{
e.Handled = true;
if (objTextBox == ctGradosC)
{
ctGradosF.Focus();
}
else
{
ctGradosC.Focus();
}
}
}
private void ctGradosF_KeyPress(object sender, KeyPressEventArgs e)
{
TextBox objTextBox = (TextBox)sender;
if (e.KeyChar == Convert.ToChar(13))
{
e.Handled = true;
if (objTextBox == ctGradosC)
{
ctGradosF.Focus();
}
else
{
ctGradosC.Focus();
}
}
}
private void button1_Click(System.Object sender,System.EventArgs e)
{
double grados = double.Parse(ctGradosC.Text) + 1;
ctGradosC.Text = grados.ToString();
grados = double.Parse(ctGradosC.Text);
grados=grados*9.0/5.0+32.0;
ctGradosF.Text=string.Format("{0:F2}",grados);
}
private void button2_Click_1(System.Object sender,System.EventArgs e)
{
double grados = double.Parse(ctGradosF.Text) + 1;
ctGradosF.Text = grados.ToString();
grados = double.Parse(ctGradosF.Text);
grados= grados- 32.0 * 5.0 / 9.0;
ctGradosC.Text=string.Format("{0:F2}",grados);
}
}
}
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace PRACTICA9
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
////private ErrorProvider ProveedorDeError;
//// ProveedorDeError = new ErrorProvider();
private double datoCajaTexto;
private void ctGradosC_Validating(object sender, CancelEventArgs e)
{
TextBox objTextBox = (TextBox)sender;
try
{
datoCajaTexto = Convert.ToDouble(objTextBox.Text);
}
catch (Exception)
{
e.Cancel = true;
objTextBox.SelectAll();
ProveedorDeError.SetError(objTextBox, "Tiene que ser numerico");
//MessageBox.Show("Tiene que ser numerico");
}
}
private void ctGradosF_Validating(object sender, CancelEventArgs e)
{
TextBox objTextBox = (TextBox)sender;
try
{
datoCajaTexto = Convert.ToDouble(objTextBox.Text);
}
catch (Exception)
{
e.Cancel = true;
objTextBox.SelectAll();
ProveedorDeError.SetError(objTextBox, "Tiene que ser numerico");
//MessageBox.Show("Tiene que ser numerico");
}
}
private void ctGradosC_Validated(object sender, EventArgs e)
{
ProveedorDeError.Clear();
conversion(sender);
}
private void ctGradosF_Validated(object sender, EventArgs e)
{
ProveedorDeError.Clear();
conversion(sender);
}
private void conversion(System.Object sender)
{
TextBox objTextBox = (TextBox)sender;
double grados;
if (objTextBox == ctGradosC)
{
grados = datoCajaTexto * 9.0 / 5.0 + 32.0;
ctGradosF.Text = string.Format("{0:F2}", grados);
}
if (objTextBox == ctGradosF)
{
grados = (datoCajaTexto - 32.0) * 5.0 / 9.0;
ctGradosC.Text = string.Format("{0:F2}", grados);
}
}
private void ctGradosC_KeyPress(object sender, KeyPressEventArgs e)
{
TextBox objTextBox = (TextBox)sender;
if (e.KeyChar == Convert.ToChar(13))
{
e.Handled = true;
if (objTextBox == ctGradosC)
{
ctGradosF.Focus();
}
else
{
ctGradosC.Focus();
}
}
}
private void ctGradosF_KeyPress(object sender, KeyPressEventArgs e)
{
TextBox objTextBox = (TextBox)sender;
if (e.KeyChar == Convert.ToChar(13))
{
e.Handled = true;
if (objTextBox == ctGradosC)
{
ctGradosF.Focus();
}
else
{
ctGradosC.Focus();
}
}
}
private void button1_Click(System.Object sender,System.EventArgs e)
{
double grados = double.Parse(ctGradosC.Text) + 1;
ctGradosC.Text = grados.ToString();
grados = double.Parse(ctGradosC.Text);
grados=grados*9.0/5.0+32.0;
ctGradosF.Text=string.Format("{0:F2}",grados);
}
private void button2_Click_1(System.Object sender,System.EventArgs e)
{
double grados = double.Parse(ctGradosF.Text) + 1;
ctGradosF.Text = grados.ToString();
grados = double.Parse(ctGradosF.Text);
grados= grados- 32.0 * 5.0 / 9.0;
ctGradosC.Text=string.Format("{0:F2}",grados);
}
}
}
Esta es la primera pantalla que es el diseño.
Esta es la pantalla ya programada y funcionando donde podemos hacer la conversión de grados.
Aquí ya utilizamos el botón de mas 1, nos suma uno nuestro número y nos convierte a los grados
correspondientes.
Aquí hacemos uso de la otra caja de texto(ctGradosF).
Le sumamos 1 y hacemos la conversión de grados de Grados Fahrenheit a Grados Centígrados.
Hacemos el uso del ErroProvider, cuando colocamos el puntero nos muestre "tiene que ser numérico" ya sea dando Enter o pulsando el botón +1.
Aquí también hacemos el uso del ErroProvider,cuando colocamos el puntero nos muestra "tiene que ser numérico" ya sea dando Enter o pulsando el botón +1.
Aquí utilizamos el MessageBox.Show ("Tiene que ser numérico"), en cada caja de texto nos mostrara esta pantalla que "Tiene que ser numérico", ya sea dando Enter(tecla (13)) o pulsando el botón +1.









