Pasar Informacion Entre Formularios

lunes, 30 de abril de 2012

Cuando se desarrollan aplicaciones con formularios algunas veces es necesario pasar información de un formulario hacia otro, les traigo un pequeño ejemplo de como hacer esto.

Existen muchas maneras de hacerlo pero en este pequeño ejemplo les mostrare una manera de hacerlo fácilmente.

Para empezar creamos 2 formularios (Los 2 tendrán los mismos controles).

Formulario principal.

Principal

Y el formulario 2 que sera donde pasaremos el dato.

Form 2

Para el caso de este ejemplo cargo los datos en el datagriedview de manera manual no uso ninguna base de datos.

Empezamos con el código del formulario principal.
namespace PasarInformacion
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
//variables que usaremos para pasar la informacion
public static int id;
public static string nombre;
public static string pais;

//metodo para cargar los datos
private DataTable Datos()
{
DataTable dt = new DataTable();

dt.Columns.Add("Id");
dt.Columns.Add("Nombre");
dt.Columns.Add("Pais");
//Agregar Datos
DataRow row = dt.NewRow();
row["Id"] = 1;
row["Nombre"] = "Juan";
row["Pais"] = "España";
dt.Rows.Add(row);

row = dt.NewRow();
row["Id"] = 2;
row["Nombre"] = "Ana";
row["Pais"] = "El Salvador";
dt.Rows.Add(row);

row = dt.NewRow();
row["Id"] = 3;
row["Nombre"] = "Miguel";
row["Pais"] = "Argentina";
dt.Rows.Add(row);

return dt;
}

private void Form1_Load(object sender, EventArgs e)
{
//cargo los datos en el datagrid
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = Datos();
}

private void btnabrir_Click(object sender, EventArgs e)
{
DataGridViewRow row = dataGridView1.CurrentRow;
if (row != null)
{
//guardamos los datos de la fila en las variables
id = Convert.ToInt32(row.Cells[0].Value);
nombre = row.Cells[1].Value.ToString();
pais = row.Cells[2].Value.ToString();
Form2 ob = new Form2();
ob.Show();
}

}
}
}

Lo importante del código de este formulario es las variables que definimos a nivel de clase que son las que usaremos para pasar la información al formulario 2, luego se crea un método DataTable que es donde se cargan los datos que mostraremos en el datagriedview que en este caso solo son 3.
Otro aspecto importante es el código que esta dentro del evento click del botón que invoca al formulario 2 pero tambien guardamos los datos de la fila seleccionada en las variables que definimos a nivel de clase.

Luego en el form 2 tenemos el siguiente codigo.
namespace PasarInformacion
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}

private DataTable Datos()
{
DataTable dt = new DataTable();

dt.Columns.Add("Id");
dt.Columns.Add("Nombre");
dt.Columns.Add("Pais");
//cargar los datos con las variables del form principal
DataRow row = dt.NewRow();
row["Id"] = Form1.id ;
row["Nombre"] = Form1.nombre ;
row["Pais"] = Form1.pais ;
dt.Rows.Add(row);
return dt;
}


private void Form2_Load(object sender, EventArgs e)
{
dataGridView1.AutoGenerateColumns = false;
dataGridView1.DataSource = Datos();
}

private void btncerrar_Click(object sender, EventArgs e)
{
Close();
}

}
}

Como pueden ver este código tambien tenemos un método que es donde cargaremos los datos del datagriedview, solo que a diferencia del anterior esta vez cargamos los datos con las variables del formulario principal.

resultado

Descargar Ejemplo Descargar Código

Saludos desde El Salvador...

Constructores C#

jueves, 26 de abril de 2012

Antes de empezar ver el código como usar los constructores veamos algunas características de estos.
Es el método que se inicia automáticamente al crear un objeto de la clase.
Se define con el mismo nombre que la clase.
Por lo general es publico.
No tiene tipo de retorno.

Sintaxis.
}
Modificador NombredelaClase(Parámetros)
{
Instrucciones
}

Veamos un ejemplo para entender mejor.

using System;

namespace constructores
{
class EjConstructor
{
int a;
int b;
//declaramos el constructor
public EjConstructor(int x, int y)
{
a = x;
b = y;
}
public int Suma()
{
return a + b;
}

class Principal
{
static void Main(string[] args)
{
//creamos objeto de la clase y le pasamos los parametros al constructor
EjConstructor obj = new EjConstructor(10, 20);
Console.WriteLine(obj.Suma());
Console.ReadKey();
}
}
}
}

El ejemplo es sencillo para que pueda comprenderse creamos una clase EjConstructor con 2 variables enteras, luego definimos el constructor con 2 parámetros observen que tiene el mismo nombre de la clase eso tiene que ser así obligatoriamente, tambien tenemos un método Suma que lo único que hace es realizar una suma.Luego en la clase Principal al momento de crear el objeto de la clase le pasamos los parámetros de una sola vez al constructor, y después solo imprimimos el resultado de la suma del método Suma.

resultado


Saludos desde El Salvador....

Crear Una Calculadora En C#

lunes, 23 de abril de 2012

Bueno me encontraba sin hacer nada así que me puse a programar un rato y cree una pequeña calculadora y ahora les explicare como hacer una, para los que recién empiezan a programar vean como crear pequeñas aplicaciones en c#.

Creamos un nuevo proyecto windows form en visual estudio y creamos el siguiente diseño

switch

como funcionara, el usuario ingresara datos en los 2 primeros textbox (txtnum1 y txtnum2) y el 3 textbox (txtresultado) se mostrara el resultado.

Lo que tenemos que hacer es programar los eventos de los botones, comenzaremos con el primero damos doble click en el botón + y nos mostrara el código para programar el evento.
antes de programar el evento declaremos 2 variables x, y a nivel de la clase para que podamos usarlas en todos los métodos.
        double x,y;

private void btnsumar_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(txtnum1.Text);
y = Convert.ToDouble(txtnum2.Text);
txtresultado.Text = string.Format("{0:f2}", x+y);
}

Como pueden observar antes del evento del botón declare 2 variables x,y que servirán para capturar los datos que introduzca el usuarios.Luego dentro del evento click lo que aremos es capturar los datos ingresados en txtnum1 y txtnum2 y de una sola vez convertirlos en tipo double, luego de esto mostramos el resultado de la suma en txtresultado con un tipo de formato string.Format("{0:f2}", x+y); esto quiere decir que mostraremos la respuesta con 2 decimales.

En los eventos de los botones restar, multiplicar y dividir prácticamente hacemos lo mismo lo único que cambia es el operador para realizar la operación.
       private void btnrestar_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(txtnum1.Text);
y = Convert.ToDouble(txtnum2.Text);
txtresultado.Text = string.Format("{0:f2}", x - y);

}

private void btnmultiplicar_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(txtnum1.Text);
y = Convert.ToDouble(txtnum2.Text);
txtresultado.Text = string.Format("{0:f2}", x * y);
}

private void btndivision_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(txtnum1.Text);
y = Convert.ToDouble(txtnum2.Text);
txtresultado.Text = string.Format("{0:f2}", x / y);
}

En el caso de los eventos de los botones raíz y potencia cambia un poco el código, pero no se preocupen nada del otro mundo, ya que utilizamos la clase Match que sirve para realizar operaciones matemáticas.
       private void btnraiz_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(txtnum1.Text);
double resultado = Math.Sqrt(x);
txtresultado.Text = string.Format("{0:f2}", resultado);


}

private void btnpotencia_Click(object sender, EventArgs e)
{
x = Convert.ToDouble(txtnum1.Text);
y = Convert.ToDouble(txtnum2.Text);
double resultado = Math.Pow(x,y);
txtresultado.Text = string.Format("{0:f2}", resultado);
}

Como se observa en el evento del botón raíz solo necesitamos 1 numero, para calcular la raíz cuadrada usamos el método Sqrt de la clase Match que sirve justamente para calcular la raíz cuadrada de un numero.

También es lo mismo para el evento click del botón potencia solo que aquí usamos el método Pow de la clase Match donde decimos que el valor de x (valor de txtnum1) se elevara a la potencia y (valor de txtnum2).
Por ultimo solo nos faltaría el evento del botón limpiar donde lo único que aremos es limpiar los 3 textbox.
       private void btnlimpiar_Click(object sender, EventArgs e)
{
txtnum1.Text = "";
txtnum2.Text = "";
txtresultado.Text = "";
}

Eso seria todo aquí les dejo imágenes del programa corriendo.

switch

switch
También como siempre les dejo el código.Descargar Codigo

Calculadora En Python

Ya vimos como crear funciones en python, ahora veremos un pequeño ejemplo de como crear una pequeña calculadora con menú.

He realizado la calculadora con 2 funciones, la primera que lo único que hace es mostrar el menú.
def Menu():
    """Funcion que Muestra el Menu"""
    print """************
Calculadora
************
Menu
------------
1) Suma
2) Resta
3) Multiplicacion
4) Division
5) Salir"""
Y la segunda que es donde realizo todos los procesos.
def Calculadora():
    """Funcion Para Calcular Operaciones Aritmeticas"""
    Menu()
    opc = int(input("Selecione Opcion\n"))
    while (opc >0 and opc <5):
        x = int(input("Ingrese Numero\n"))
        y = int(input("Ingrese Otro Numero\n"))
        if (opc==1):
            print "La Suma es:", x+y
            opc = int(input("Selecione Opcion\n"))
        elif(opc==2):
            print "La Resta es:",x-y
            opc = int(input("Selecione Opcion\n"))
        elif(opc==3):
            print "La Multiplicacion es:",x*y
            opc = int(input("Selecione Opcion\n"))
        elif(opc==4):
            try:
              print "La Division es:", x/y
              opc = int(input("Selecione Opcion\n"))
            except ZeroDivisionError:
              print "No se Permite la Division Entre 0"
              opc = int(input("Selecione Opcion\n"))
Explicación de lo mas importante.
 Linea 1 empieza la función Calculadora.  
Linea 3 llamo a la función Menú para que muestre el menú.  
Linea 5 utilizo el bucle while para indicar que el código se ejecutara siempre y cuando el usuario elija una opción entre 1 y 4.
Linea 6 y 7 pido 2 números.
 Linea 8, 11, 14, y 17 evaluó que opción selecciono el usuario y hago el proceso necesario según la opción, cabe destacar que después que hago el proceso pido que nuevamente seleccione otra opción así que el usuario puede realizar todos los procesos que quiera y el decide cuando salir del programa.  
Linea 18 y 21 utilizo la excepción ZeroDivisionError para indicar que la división entre 0 no es posible.

Luego lo único que faltaría es llamar al la función Menú.
Calculadora()
Eso seria todo si ejecutamos nuestro código nos tendría que mostrar el programa.
 
Diseño
 Descargar Codigo  
Saludos desde El Salvador...

Funciones en Python

miércoles, 18 de abril de 2012

Ahora veremos como usar las funciones en python.

Las funciones nos ayudan a programar de una forma ordenada dividiendo el código en partes que luego podemos reutilizar.

Empezemos viendo como definir una función sencilla
def Saludar():
print "Hola a todos"

Como podemos observar definir una función es tan sencillo como escribir la palabra reservada def seguida del nombre de la función (en el ejemplo Saludar) luego paréntesis y 2 puntos.
Si usamos argumentos tenemos que especificarlos dentro de los paréntesis separados por coma.

def Saludar(x,y):
print x
print y

Para ejecutar una función solo tenemos que llamar la función por su nombre seguido de paréntesis y si le enviaremos parámetros se los enviamos dentro de los paréntesis.
def Saludar(x,y):
print x
print y

Saludar("hola",10)

Como pueden observar llamo a la función Saludar y le paso los 2 parametros x y y "hola" y 10.

También podemos devolver valores con la palabra clave return.
def Sumar(x,y):
return x+y

def Restar(x,y):
return x-y

print Sumar(40,20)
print Restar(100,50)

En el ejemplo he definido 2 funciones Sumar y Restar las cuales reciben 2 parámetros que devuelve la suma y resta respectivamente.

Bueno eso es todo por ahora saludos desde El Salvador

Empezemos con Python

martes, 17 de abril de 2012

Mi blog como pueden notar trata mucho sobre el lenguaje .Net específicamente sobre C#, ya que es el lenguaje que mas domino y es de los que en la actualidad se usa mucho, pero nunca esta de mas aprender mas lenguajes de programación, y eso me llevo a prender python ya que como muchos sabrán su sintaxis es muy fácil de aprender (de hecho me parece mas fácil que c# y java) es multiplataforma (que fue una de las razones por las que me decidí a aprenderlo) y se utiliza en muchos campos.


Que es Python

Python es un lenguaje de programación creado por Guido van Rossum a principios de los años 90 cuyo nombre está inspirado en el grupo de cómicos ingleses “Monty Python”. Es un lenguaje similar a Perl, pero con una sintaxis muy limpia y que favorece un código legible.

Se trata de un lenguaje interpretado o de script, con tipado dinámico, fuertemente tipado, multiplataforma y orientado a objetos.

Introducción a Python
Haciendo cuenta y caso que ya tienen instalado python en su sistema operativo(yo uso windows) y que cuentan con su IDE favorito (en mi caso PyScripter) empezaremos a ver un poco de la sintaxis de este lenguaje que a decir verdad parece pseudocódigo.

Como Declarar Variables
A diferencia de otros lenguajes en python para declarar variables no se declara el tipo de la variable, veamos unos ejemplos
#esto es una cadena
cadena = "Hola Python"

#esto es un entero
entero = 450

#esto es un real o float
real = 5.25

#este es un tipo long
num = 50L

Como pueden observar no es necesario declarar el tipo de variable haciéndonos el trabajo mas fácil, otra cosa que ya quizás notaron es que lo que esta con # son comentarios en python se utiliza ese símbolo para indicar los comentarios.

Como Mostrar Mensajes en Python
#esto es una cadena
cadena = "Hola Python"
#esto es un entero
entero = 450
#esto es un real o float
real = 5.25
#este es un tipo long
num = 50L
#esto es una cadena
cadena = "Hola Python"
#esto es un entero
entero = 450
#esto es un real o float
real = 5.25
#este es un tipo long
num = 50L
#imprimiedo nuestras variables
print "Imprimir Nuestas Variables"
print cadena
print entero
print real
print num

Para mostrar mensajes o imprimir variables utilizaremos print seguido de lo que queremos mostrar, en el ejemplo pueden notar que si vamos imprimrir mensajes tienen que ir entre comillas y para imprimir variables solo escribimos la variable.

Pero pudimos haber mostrado todas nuestras variables en un solo print (osea concatenar los mensajes)
#esto es una cadena
cadena = "Hola Python"
#esto es un entero
entero = 450
#esto es un real o float
real = 5.25
#este es un tipo long
num = 50L
#imprimiedo nuestras variables
print "Imprimir Nuestas Variables"
print cadena,entero,real,num

Como pueden ver para concatenar mensajes solo tenemos que separar las variables por comas (sencillo verdad).

Si ejecutan los 2 códigos en su IDE les tendría que mostrar las variables de forma diferente.

Bueno por hoy es todo pronto veremos mas acerca de este lenguaje de programación.

Saludos desde El Salvador

Estructuras de Control C#

jueves, 5 de abril de 2012

Instrucción if
La instrucción if selecciona una instrucción para ejecución en base al valor de una expresión Boolean.
Sintaxis

if (condición)
{
instrucciones
}
else
{
instrucciones
}


Ejemplo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace UsoIf
{
class UsoIf
{
public static void Main()
{
Console.WriteLine("ingrese un numero entre 1 y 3");
int num = int.Parse(Console.ReadLine());
if (num == 1)
{
Console.WriteLine("valor es 1");
}
else
if (num == 2)
{
Console.WriteLine("valor es 2");
}
else
if (num == 3)
{
Console.WriteLine("valor es 3");
}
else
{
Console.WriteLine("no se encontro el valor");
}
Console.ReadKey();
}
}
}

if

Es un simple ejemplo donde pedimos el ingreso de un numero que este en el rango de 1 y 3 luego comparamos si el valor ingresado es 1 2 o 3 para cada opcion muestra su respectivo mensaje y si no esta entre el rango 1 y 3 muestra un mensaje tambien

Instrucción Switch
La instrucción switch es una instrucción de control que controla múltiples selecciones y enumeraciones pasando el control a una de las instrucciones case de su cuerpo.
Sintaxis

switch (expresion)
{
case constante 1:
instruciones

case constante 2:
instrucciones

default;
instrucciones
break;
}


Ejemplo
Aremos el mismo ejemplo de la instrucción if

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructurasdeControl
{
class UsoSwitch
{
public static void Main()
{
Console.WriteLine("ingrese un numero entre 1 y 3");
int num = int.Parse(Console.ReadLine());
switch (num)
{
case 1:
Console.WriteLine("valor es 1");
break;
case 2:
Console.WriteLine("valor es 2");
break;
case 3:
Console.WriteLine("valor es 3");
break;
default:
Console.WriteLine("no se encontro el valor");
break;
}
Console.ReadKey();
}
}
}


switch
Igual que el ejemplo anterior primero pedimos el ingrese de un numero entre 1 y 3 y luego comparamos que numero ingreso el usuario utilizando la instrucción case.

Instrucción While
La instrucción while ejecuta una instrucción o un bloque de instrucciones repetidamente hasta que una expresión especificada se evalúa como false.
Sintaxis

while(condicion)
{
condiciones
incremento,decremento
}


Ejemplo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace UsoWhile
{
class UsoWhile
{
public static void Main()
{
Console.WriteLine("ingrese un numero");
int num1 = int.Parse(Console.ReadLine());
Console.WriteLine("ingrese un numero mayor que el anterior");
int num2 = int.Parse(Console.ReadLine());
while (num1 < num2)
{
Console.WriteLine("valores:" + num1);
num1++;
}
Console.ReadKey();
}
}
}


while

Primero se pide el ingreso de 2 números, luego se evalúa si el primer numero es menor que el segundo y si lo es imprime la cantidad de números que hay de diferencia entre los 2 empezando desde el valor del primer numero hasta un numero antes que el segundo numero.

Instrucción Do While
Su diferencia básica con el ciclo while es que la prueba de condición es hecha al finalizar el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque primero ejecuta las instrucciones y al final evalúa la condición.
Sintaxis

do {
instrucciones
incremento,decremento
}
while(condicion);


Ejemplo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace UsoDoWhile
{
class UsoDoWhile
{
public static void Main()
{
string secreta;
string palabra;
Console.WriteLine("ingrese la palabra secreta");
secreta = Console.ReadLine();
do
{
Console.WriteLine("vuelva a introducir la palabra secreta");
palabra = Console.ReadLine();
if (palabra != secreta)
Console.WriteLine("palabra incorrecta");
} while (palabra != secreta);
Console.WriteLine("Palabra Correcta");
Console.ReadKey();
}

}
}


do while

En este ejemplo Primero solicitamos el ingreso de una palabra secreta, luego solicitamos que vuelva a introducir la palabra secreta, si no ingresa la palabra correcta mostrara un mensaje y el bucle se dejara de ejecutar hasta que introduzca. la palabra correcta.

Como siempre les dejo el código de todos los proyectos para que los prueben.
Descargar

Saludos desde El Salvador

Administrador de Cuentas de Internet

miércoles, 4 de abril de 2012

Internet Account Manager

Bueno les presento Internet Account Manager (Administrador de Cuentas de Interner) ahora termine la primer version y es un programa para administrar cuentas de internet facil de Usar.

Internet Account Manager

Internet Account Manager (administrator de cuentas de internet ) es una aplicación para administrar cuentas de internet muy fácil de usar.

Donde puedes guardar todos tus usuarios y password de cuentas de internet con tan solo recordar un usuario y un password.

Tiene una interfaz fácil de usar por lo cual no te costara administrar todas tus cuentas de internet.

Puedes crear más de un usuario y administrar todas las cuentas que quieras.

Requisitos

Para instalar Internet Account Manager solo necesitas tener cualquier versión de Windows y tener instalado Framework 3.5

Imagenes del Programa

Diseño

Diseño

Diseño

Para que no tengan problemas para su uso incluye un manual que les explica como usar el programa.


Si cuando instalen el programan no pueden crear un usuario, me avisan y les diré como resolver el problema.

Como Crear Una Master Page en Asp.Net

domingo, 1 de abril de 2012

Lo primero como siempre es crear un nuevo proyecto en visual estudio en esta ocasión creamos un nuevo sitio web vació de asp.net y especificamos la ruta de donde queremos guardarlo (también seleccionamos el lenguaje c# para cuando necesitemos programar algo).

Nuevo Proyecto

Una ves creado nuestro proyecto web agregamos un nuevo elemento y seleccionamos una pagina maestra, le damos el nombre de plantilla y damos aceptar.

Master Page

Luego de agregar nuestra pagina maestra agregamos un nuevo elemento y en esta ocasión elegimos una hoja de estilos (que nos servirá para darle todo el estilo a nuestra pagina maestra) y le damos el nombre de principal.css.

Hoja de Estilo

Ahora que ya agregamos nuestra hoja de estilos empezaremos a escribir nuestro código css para darle el diseño en nuestra web aclaro que aquí le doy estilo lo mas básico de cada quien depende darle un estilo mas profesioanl y propio.

body {text-align:center; background-color:purple;}
#global {width:900px; margin:4px auto;} /*centrar la pagina web */
#cabezera{ width:900px; height:200px; background-color:blue; } /*cabeza de la pagina web */
#menu{width:900px; height:40px; background-color:black; margin-bottom:20px;} /*menu de la pagina web */
#contenido {width:900px; background-color:white; } /*contenido de la pagina web */
#pie{width:900px; height:100px; background-color:blue; margin-top:20px;} /*pie de la pagina web */


Ahora que ya tenemos la estructura de nuestro css nos vamos a nuestra pagina maestra y empezamos a definirle el diseño.
Lo primero es agregarle el código para importar nuestro css. escribimos el siguiente codigo antes de la etiqueta head



Una ves hecho esto empezamos a colocar los div dentro de nuestra pagina maestra, el primero que agregaremos sera el id global que nos servira para centrar toda nuestra web.
Entones agregamos el div luego de la etiqueta y agregamos el cierre antes de la etiqueta body








Luego agregamos el segundo div que seria el de la cabecera y aprovechando de una sola vez agregamos un control image que nos servira para agregar una imagen de cabecera (en este caso busque la imagen en internet)






Luego de este código iría el div del menú (lo de crear el menú lo explicare en otro tutorial)




Luego iria el div de nuestro contenido aquí es muy importante explicar que como dentro de este div ira la parte que queremos modificar por cada pagina pagina web entonces agregaremos el control de asp.net ContentPlaceHolder que permite modificar partes de una pagina maestra (el div que lleve este control sera la parte que podremos modificar de nuestra pagina maestra en las demas paginas web).








Y por ultimo agregamos el div de nuestro pie.


aqui va el pie de pagina



Por si no entendieron como irían todos los div les dejo todo el código de la pagina maestra

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="plantilla.master.cs" Inherits="plantilla" %>




























aqui iria el pie de pagina








Con esto hemos terminado nuestra pagina maestra.

Ahora agregaremos un web form que sera nuestra pagina de inicio y aremos que tenga el diseño de nuestra pagina maestra para que vean como funciona la pagina maestra.

Entonces agregamos un nuevo elemento elegimos web forms y le damos el nombre de inicio, es importante que abajo marquen la opción de seleccionar pagina maestra luego les saldrá todas las paginas maestras disponibles en nuestro proyecto que en este caso solo tenemos la de plantilla damos aceptar

form

form

Luego de agregar el web forms lo primero sera hacer referencia a la hoja de estilo como lo hicimos con la pagina maestra, lo agregamos luego de la etiqueta conten1 que es la parte del head




Una vez hecho esto si cambiamos a la vista de diseño de visual estudio podemos ver que la única parte donde podemos escribir y modifica es donde dejamos el control ContentPlaceHolder

Diseño

Si ejecutamos nuestro web forms así se vera en el navegador (como pueden ver ya tenemos un diseño básico de nuestra sitio web)

Diseño

Les dejo el proyecto completo también para que lo descarguen y lo prueben en visual estudio.

Descargar Proyecto

Editor de Texto Hecho por mi en C#

Bueno esta ves les muestro una aplicación que hice en C# es un editor de texto parecido al bloc de notas.

Imagenes


Diseño

Diseño

Diseño

Para instalarlo solo necesitan tener el framework 4

Descargar Editor de Texto