Skip to content

Instantly share code, notes, and snippets.

@Fhernd
Last active August 29, 2015 14:02
Show Gist options
  • Save Fhernd/eed19abad150b46986b1 to your computer and use it in GitHub Desktop.
Save Fhernd/eed19abad150b46986b1 to your computer and use it in GitHub Desktop.
Control con los controles de entrada de los nuevos puntos del triángulo.
// ===++===
//
// OrtizOL
//
// ===--===
/*============================================================
//
// Clase: DialogoPuntos.cs
//
// Propósito: Diálogo con los controles de entrada para las
// coordenas de los puntos.
//
// Original en: http://goo.gl/Es4txa
//
============================================================*/
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 ElTriangulo.GUI
{
/// <summary>
/// Control para las campos de texto.
/// </summary>
public partial class DialogoPuntos : Form
{
#region Campos (Componentes)
/// <summary>
/// Interfaz de usuario principal.
/// </summary>
private Principal principal;
#endregion
#region Constructores
/// <summary>
/// Inicializa y carga los campos con los puntos actuales.
/// </summary>
/// <param name="principal">Interfaz de usuario principal.</param>
public DialogoPuntos(Principal principal)
{
InitializeComponent();
this.principal = principal;
txtPunto1X.Text = String.Format("{0:#,##0.0}", principal.Triangulo.Punto1.X);
txtPunto1Y.Text = String.Format("{0:#,##0.0}", principal.Triangulo.Punto1.Y);
txtPunto2X.Text = String.Format("{0:#,##0.0}", principal.Triangulo.Punto2.X);
txtPunto2Y.Text = String.Format("{0:#,##0.0}", principal.Triangulo.Punto2.Y);
txtPunto3X.Text = String.Format("{0:#,##0.0}", principal.Triangulo.Punto3.X);
txtPunto3Y.Text = String.Format("{0:#,##0.0}", principal.Triangulo.Punto3.Y);
}
#endregion
#region Eventos
/// <summary>
/// Acepta los valores de los campos de texto.
/// También valida los valores de entrada.
/// </summary>
/// <param name="sender">Generador del evento.</param>
/// <param name="e">Argumentos del evento.</param>
private void btnAceptar_Click(object sender, EventArgs e)
{
double punto1x = 0.0;
double punto1y = 0.0;
double punto2x = 0.0;
double punto2y = 0.0;
double punto3x = 0.0;
double punto3y = 0.0;
if( Double.TryParse(txtPunto1X.Text, out punto1x) && Double.TryParse(txtPunto1Y.Text, out punto1y) &&
Double.TryParse(txtPunto2X.Text, out punto2x) && Double.TryParse(txtPunto2Y.Text, out punto2y) &&
Double.TryParse(txtPunto3X.Text, out punto3x) && Double.TryParse(txtPunto3Y.Text, out punto3y))
{
if(!principal.Colineales(punto1x, punto1y, punto2x, punto2y, punto3x, punto3y))
{
principal.Triangulo.Punto1 = new Modelo.Punto(punto1x, punto1y);
principal.Triangulo.Punto2 = new Modelo.Punto(punto2x, punto2y);
principal.Triangulo.Punto3 = new Modelo.Punto(punto3x, punto3y);
principal.Repintar();
this.Close();
}
else
{
MessageBox.Show(this, "Los puntos no pueden ser colineales.", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
else
{
MessageBox.Show(this, "Debe ingresar solo números.", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
}
}
/// <summary>
/// Cierra el diálogo de entrada puntos del triángulo.
/// </summary>
/// <param name="sender">Generador del evento.</param>
/// <param name="e">Argumentos del evento.</param>
private void btnCancelar_Click(object sender, EventArgs e)
{
this.Close();
}
#endregion
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment