bueno dejo el codigo de la calculadora no me critiquen mucho :

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
public partial class Form1 : Form
{
private double cal1=0;
private double cal2 = 0;
private double cal3 = 0;
private double cal4 = 0;
private double total = 0;
private int suma = 0;
private int resta = 0;
private int multiplicacion = 0;
private int division = 0;
private int dec = 0;
private int men = 0;

public Form1()
{
InitializeComponent();
txtpatalla2.Visible = false;
txtpatalla2.Enabled = false;
txtpatalla.Enabled = false;
lblcalc.Visible = false;
}

private void button3_Click(object sender, EventArgs e)
{

}

private void Form1_Load(object sender, EventArgs e)
{

}

private void button3_Click_1(object sender, EventArgs e)
{

if (dec == 1)
{
total = Convert.ToDouble(txtpatalla.Text += ",0");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else if (men == 1)
{
total = Convert.ToDouble(txtpatalla.Text += "-0");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += "0");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}

dec = 0;
men = 0;
}

private void btnuno_Click(object sender, EventArgs e)
{

if (dec == 1)
{
total =Convert.ToDouble(txtpatalla.Text += ",1");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else if (men == 1)
{
total = Convert.ToDouble(txtpatalla.Text += "-1");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += "1");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
dec = 0;
men = 0;

}

private void btndos_Click(object sender, EventArgs e)
{

if (dec == 1)
{
total =Convert.ToDouble(txtpatalla.Text += ",2");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else if (men == 1)
{
total = Convert.ToDouble(txtpatalla.Text += "-2");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += "2");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
dec = 0;
men = 0;
}

private void btntres_Click(object sender, EventArgs e)
{

if (dec == 1)
{
total =Convert.ToDouble(txtpatalla.Text += ",3");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else if (men == 1)
{
total = Convert.ToDouble(txtpatalla.Text += "-3");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += "3");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
dec = 0;
men = 0;
}

private void btncuatro_Click(object sender, EventArgs e)
{

if (dec == 1)
{
total =Convert.ToDouble(txtpatalla.Text += ",4");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else if (men == 1)
{
total = Convert.ToDouble(txtpatalla.Text += "-4");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += "4");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
dec = 0;
men = 0;
}

private void btncinco_Click(object sender, EventArgs e)
{

if (dec == 1)
{
total =Convert.ToDouble(txtpatalla.Text += ",5");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else if (men == 1)
{
total = Convert.ToDouble(txtpatalla.Text += "-5");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += "5");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
dec = 0;
men = 0;
}

private void btnseis_Click(object sender, EventArgs e)
{

if (dec == 1)
{
total =Convert.ToDouble(txtpatalla.Text += ",6");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else if (men == 1)
{
total = Convert.ToDouble(txtpatalla.Text += "-6");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += "6");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
dec = 0;
men = 0;
}

private void btnsiete_Click(object sender, EventArgs e)
{

if (dec == 1)
{
total =Convert.ToDouble(txtpatalla.Text += ",7");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else if (men == 1)
{
total = Convert.ToDouble(txtpatalla.Text += "-7");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += "7");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
dec = 0;
men = 0;
}

private void btnocho_Click(object sender, EventArgs e)
{

if (dec == 1)
{
total = Convert.ToDouble(txtpatalla.Text += ",8");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else if (men == 1)
{
total = Convert.ToDouble(txtpatalla.Text += "-8");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += "8");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
dec = 0;
men = 0;
}

private void btnnueve_Click(object sender, EventArgs e)
{

if (dec == 1)
{
total = Convert.ToDouble(txtpatalla.Text += ",9");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else if (men == 1)
{
total = Convert.ToDouble(txtpatalla.Text += "-9");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += "9");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
dec = 0;
men = 0;
}

private void btnsuma_Click(object sender, EventArgs e)
{
if (resta >= 1)
{
total = cal2 - total;
resta = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}



else if (suma >= 1)
{
total = cal1 + total;
suma = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);
}


else if (multiplicacion >= 1)
{
total = cal3 * total;
multiplicacion = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);
}

else if (division >= 1)
{
total = cal4 / total;
division = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);
}

txtpatalla.Text = "";

if (suma == 0)
{ }
else if (suma > 0)
{
total = cal1 + total;
}
lblcalc.Text = Convert.ToString(total);
txtpatalla.Visible = false;
txtpatalla2.Visible = true;
txtpatalla2.Text = Convert.ToString(total);



cal1 = total;




total = 0;
suma++;
dec = 0;

}

private void btnigual_Click(object sender, EventArgs e)
{
if (resta >= 1)
{
total = cal2-total;
resta = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}



else if (suma >= 1)
{
total = cal1 + total;
suma = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);
}


else if (multiplicacion >= 1)
{
total = cal3 * total;
multiplicacion = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);
}

else if (division >= 1)
{
total = cal4 / total;
division = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);
}
dec = 0;


}

private void btnresta_Click(object sender, EventArgs e)
{
if (resta >= 1)

{
total = cal2 - total;
resta = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}



else if (suma >= 1)

{
total = cal1 + total;
suma = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);
}


else if (multiplicacion >= 1)
{
total = cal3 * total;
multiplicacion = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}
else if (division >= 1)
{
total = cal4 / total;
division = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}

txtpatalla.Text = "";
if (resta == 0)
{ }
else if (resta > 0)
{
total = cal2-total;
}
lblcalc.Text = Convert.ToString(total);
txtpatalla.Visible = false;
txtpatalla2.Visible = true;
txtpatalla2.Text = Convert.ToString(total);


cal2 = total;



total = 0;
resta++;
dec = 0;

}

private void btnmultiplica_Click(object sender, EventArgs e)
{
if (resta >= 1)
{
total = cal2 - total;
resta = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}
else if (suma >= 1)
{
total = cal1 + total;
suma = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}
else if (multiplicacion >= 1)
{
total = cal3 * total;
multiplicacion = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}
else if (division >= 1)
{
total = cal4 / total;
division = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}
txtpatalla.Text = "";
if (multiplicacion == 0)
{ }
else if (multiplicacion > 0)
{
total = cal3 * total;
}
lblcalc.Text = Convert.ToString(total);
txtpatalla.Visible = false;
txtpatalla2.Visible = true;
txtpatalla2.Text = Convert.ToString(total);


cal3 = total;

total = 0;
multiplicacion++;
dec = 0;
}

private void btndibide_Click(object sender, EventArgs e)
{
if (resta >= 1)
{
total = cal2 - total;
resta = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}
else if (suma >= 1)
{
total = cal1 + total;
suma = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);


}
else if (multiplicacion >= 1)
{
total = cal3 * total;
multiplicacion = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}
else if (division >= 1)
{
total = cal4 / total;
division = 0;
txtpatalla.Text = Convert.ToString(total);
lblcalc.Text = Convert.ToString(total);

}
txtpatalla.Text = "";
if (division == 0)
{ }
else if (division > 0)
{
total = cal4 / total;
}
lblcalc.Text = Convert.ToString(total);
txtpatalla.Visible = false;
txtpatalla2.Visible = true;
txtpatalla2.Text = Convert.ToString(total);


cal4 = total;

total = 0;
division++;
dec = 0;

}

private void button2_Click(object sender, EventArgs e)
{
dec++;

}

private void btnc_Click(object sender, EventArgs e)
{

cal1=0;
cal2 = 0;
cal3 = 0;
cal4 = 0;
total = 0;
suma = 0;
resta = 0;
multiplicacion = 0;
division = 0;
dec = 0;
txtpatalla.Text = "";
txtpatalla2.Text = "";
txtpatalla2.Visible = false;
}

private void button10_Click(object sender, EventArgs e)
{
men++;
}

private void copiarCtrlCToolStripMenuItem_Click(object sender, EventArgs e)
{

}

private void cerrarToolStripMenuItem1_Click(object sender, EventArgs e)
{
Application.Exit();
}

private void msgToolStripMenuItem_Click(object sender, EventArgs e)
{
MessageBox.Show("No me hago responsable por el mal funcionamiento XD!!!");
}
private void btnuno_ASCII10100001(object sender, EventArgs e)
{
if (dec == 0)
{
total = Convert.ToDouble(txtpatalla.Text += "1");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
else
{
total = Convert.ToDouble(txtpatalla.Text += ",1");
txtpatalla.Visible = true;
txtpatalla2.Visible = false;
}
dec = 0;
}
}


}
a y una fotito :

Bueno no e programado aun los botones de on off, wl boton % y el 1/x estan porque copie la interfas grafica de la calculadora de windows pero no los programe, pero funcionan todos los numeros y los botones + - * / . +/- y el C que vuleve atras todo.Bueno lo que quiero hacer ahora es que al apretar las teclas del teclado numerico cada tecla tenga asignado un boton Ej.: apreto el "1" y se aprete el boton en el form que corresponda al 1. Para resumir como hace la calculadora de windows, si alguno sabe algun forma de hacerlo creo que e llegado a algo pero no estoy seguro, por el form tiene todo Ej: "private void btnuno_Click" yo creo que si en vez de decir que todo lo que esta abajo de eso pase cuando se haga click pase cuando se aprete la tecla haria lo que yo quiero, pero no se el nombre de las teclas en C# supongo que es en ASCII pero no se . Agradesco toda ayuda.

Saludos y suerte.