Mostrando las entradas con la etiqueta C#. Mostrar todas las entradas
Mostrando las entradas con la etiqueta C#. Mostrar todas las entradas

03 julio 2009

Parte II: Programando un UserControl con C#2005

Hola a todos,
Continuando con el post anterior sobre la creación de UserControl con C# 2005, se habia diseñado el siguiente UserControl:


Ahora para el ejemplo vamos a programar en el UserControl, y para ello vamos a crear 2 propiedades de tipo control DataGridView y TextBox. Y además escribiremos un script en el evento de DataSourceChanged del DataGridView, esto me permitira actualizar los datos que se visualicen en el DataGridView.
:) Manos a la obra, vamos a dar un vistazo a nuestro editor de script:

Primero, vamos a agregar un linea en mi constructor:
La propiedad AllowUserToAddRows, permitirá agregar filas pasandolé valores false o true. Ahora el valor true si se muestra al usuario la opción de agregar filas; en caso contrario, false. El valor predeterminado es true.
Segundo, vamos a crear las propiedades de tipo control DataGridView y TextBox, a continuación el siguiente script:
Propiedad: DataGridView

Propiedad: TextBox

Tercero, vamos a programar en el evento DataSourceChanged del DataGridView, a continuación el siguiente script:

Al terminar nuestro script, deberia quedar de la siguiente forma:

Cuarto, no podremos acceder o utilizar este control customDataGridView en la Caja de herramientas; mientras no hayamos reconstruido la aplicación, ya que hasta ahora, no lo hemos usado y para esto también necesitaremos reconstruir:

Al copilar (Build) nuestra aplicación, verificaremos que se generar nuestro control customDataGridView:

30 junio 2009

Parte I: Creando un UserControl con C# 2005

Hola a todos,
Voy a realizar un ejemplo sencillo de como crear un UserControl, ya que este mismo control lo usaremos para posteriores ejercicios cuando sea necesario.

¿Qué es un UserControl?
Un UserControl no es más que una clase común y que tiene como extensión .cs; que también provee las referencias para poder trabajar con las clases dentro del espacio de nombres System.Windows.Forms, a diferencia de los Class Library.

¿Para que sirve y porqué usar UserControl?
El UserControl proporciona la capacidad de crear controles que se pueden usar en varios lugares de una aplicación.

Para nuestro ejemplo, vamos a crear una aplicación en Visual Studio.NET 2005; para ello seleccionaremos Visual C#; el nombre de nuestro proyecto(Project) será WindowsApplication y la solución (solution) llevará el nombre de UserControl.

Despues que ingresar los datos respectivamente, presionamos el botón OK; y acontinuación nuestra ventana de explorador de soluciones (Solution Explorer), quedaría de la siguiente forma:

Para organizar nuestros archivos vamos a crear una carpeta con el nombre de UGC, y sobre esta carpeta daremos un clic derecho donde se visualizará una ventana emergente donde seleccionaremos la opción Add/User Control... y se visualiza la ventana Add New Item

Para darle nombre a nuestro UserControl, daremos clic en la caja Name y le daremos el nombre de customDataGridView y después presionamos el botón Add; y se visualizará nuestro Explorador de Soluciones (Solution Explorer) de la siguiente manera:

A continuación para crear un UserControl de WinForm, diseñaremos nuestro control y para ello usaremos 4 controles: DataGridView, Panel, Label y TextBox.

Control "DataGridView"
  • Name : dataGridView1

  • BackgroundColor : Control

  • Dock : Fill


Control "Panel"
  • Name : panel1

  • Dock : Bottom


Control "Label"
  • Name : label1

  • Anchor : Bottom | Right

  • Text : "Nro. de Registros:"


Control "TextBox"
  • Name : txtNroReg

  • Anchor : Bottom | Right

  • BackColor : AliceBlue

  • BorderStyle : FixedSingle

  • TextAlign : Center


10 noviembre 2007

Visual Studio 2008 - Beta 2

Visual Studio 2008 cumple con la visión de Microsoft al permitir a desarrolladores y equipos de desarrolladores crear rápidamente aplicaciones conectadas con atractivas experiencias de usuario para Windows Vista, el sistema Microsoft Office 2007, dispositivos móviles y la Web. Con el lanzamiento de Visual Studio 2008 Beta 2, Microsoft avanza en su promesa al permitir a los desarrolladores aprovechar esta nueva ola de innovación.

22 septiembre 2007

Aprenda .NET: C# - VB.NET - Office

Hola amigos,
Si estas interesado en aprender y iniciar a programar en Microsoft Visual Studio .NET, tales como C# y Visual Basic .NET, les paso unos link donde encontraran ejemplos con su código de fuente:
Y si también estas interesado en desarrollar aplicaciones para Office con .NET, les paso este link:

17 octubre 2006

Parte I: Maestro-Detalle (usando Treeview)

Hola Amigos!!
Les he preparado un ejemplo de como realizar un Maestro Detalle donde constara en 2 partes: La 1ra parte, usaremos en control Treeview donde agruparemos los Productos por Categorias y en la 2da. mostraremos en detalle o descripción del Producto, donde usaremos el Datagridview, previo seleccionado del producto.
A continuación estructaremos nuestra solution Demo de la siguiente forma:
Implementando la clase Conexion:Script de la clase Conexion, al inicio de nuestro script tenemos que incluir o agregar el namespaces:
Clase Conexion:
Implementando la clase Querys:
Script de la clase Querys, al inicio de nuestro script tenemos que incluir o agregar el namespaces:
Creando un metodo de tipo DataTable - CategoriaDistinct:
Creando un metodo de tipo DataTable - CategoriaProductos:
Para nuestro winforms, agregaremos un Treeview (tvxGrupos). Este Treeview nos permitira agrupar los Productos por Categoria, en este caso vamos a usar la base de datos Northwind.
Al inicio de nuestro script tenemos que incluir o agregar el namespaces:
Script:
Crearemos un metodo CargarNodos:



Form1 :: Load
Ahora presionamos la F5 y se visualiza nuestro Form1:
Espero que les sea de gran utilidad este ejemplo y lo pongan en practica, en unos de estos dias posteo la 2da parte de nuestro Maestro Detalle.

Saludos,

Nos vemos.

23 septiembre 2006

Parte 0: Iniciar Archivos y Ejecutables usando la clase Process

Hola amigos!!
Despues de mucho tiempo que no he colgado ejemplos en C#, jejejeje......vamos a realizar algo tipico que talvez a ustedes se le vino la idea de querer ejecutar programas (.exe) o archivos.
En este caso vamos a ejecutar la Calculadora, Bloc de Notas y abrir un archivo usando el Bloc de Notas. Y recordando en VB6 se usa el comando Shell para ejecutar un ejecutable, en nuestro caso vamos a usar la clase Process y para ello tenemos que usar el espacio de nombres System.Diagnostics.
En nuestro Winforms tendremos que insertar 3 Buttons (btnEXECal, btnEXENote, btnArgumentos):
Al inicio de nuestro script tenemos que incluir o agregar el namespaces:

Cuando declaramos este namespaces System.Diagnostics, podemos usar la clase Process, y por ello vamos a instanciar esta clase Process:Ahora para ejecutar programas (.exe) le voy a presentar 2 formas de como ejecutar estos programas.
Forma 01: Para ejecutar nuestro primer botón Ejecutar Calculadora, escribiremos el siguiente script:
Y cuando presionamos el botón Ejecutar Calculadora, se visualiza de la siguiente forma: Forma 02: Para ejecutar nuestro segundo botón Ejecutar Bloc de Notas, escribiremos el siguiente script:
Y cuando presionamos el botón Ejecutar Bloc de Notas, se visualiza de la siguiente forma:
Les comento para nuestro ultimo script lo primero que deben hacer es copiar o crear un archivo y grabarlo en el directo "C:\", en nuestro caso voy a copiar el archivo Form1.cs, del ejemplos que estamos realizando. En este caso vamos a usar una propiedad Arguments, donde visualizaremos en archivos Form1.cs en el Bloc de Notas.
Para ejecutar nuestro segundo botón Leer archivo en Bloc de Notas, escribiremos el siguiente script:
Y cuando presionamos el botón Leer archivo en Bloc de Notas, se visualiza de la siguiente forma:
A continuación nuestro script completo:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
namespace Programas
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

Process miProceso = new Process();

private void btnEXECal_Click(object sender, EventArgs e)
{
miProceso.StartInfo.FileName = "calc.exe";
miProceso.Start();
}

private void btnEXENote_Click(object sender, EventArgs e)
{
ProcessStartInfo starApp = new ProcessStartInfo();
string app = "notepad.exe";
starApp.FileName = app;
miProceso.StartInfo = starApp;
miProceso.Start();
}

private void btnArgumentos_Click(object sender, EventArgs e)
{
ProcessStartInfo starApp = new ProcessStartInfo();
string app = "notepad.exe";
starApp.FileName = app;
miProceso.StartInfo = starApp;
miProceso.StartInfo.Arguments = @"c:\Form1.cs";
miProceso.Start();
}
}
}

Bueno amigos espero que haya sido de gran utilidad este ejemplo y me despido...nos vemos.
Saludos,

30 junio 2006

Convertidor on-line de codigo de .NET

Hola amigos.
Revisando alguna información encontre algunas sities que realizan conversión de código de C# a VB.NET y viceversa. Les envio los links y esperando asi que les sea de gran utilidad.

Nos vemos amigos,

Saludos.

26 mayo 2006

Cómo utilizar la herencia en C#

Resumen
En este artículo aprenderá a utilizar la herencia en C#. La herencia es un concepto importante dentro de la programación orientada a objetos, ya que permite generar una jerarquía de clases relacionadas y reutilizar la funcionalidad definida en las clases existentes.
Se definirá una clase de base que incluirá campos y métodos para una cuenta bancaria genérica. A continuación, se definirá una clase derivada que representará un tipo de cuenta bancaria particular.
La clase derivada heredará miembros de la clase base, anulará miembros seleccionados y agregará nuevos miembros para el nuevo tipo de cuenta.

Requisitos

  • Crear una nueva aplicación de consola.
  • Crear una clase de base abstracta.
  • Escribir el código para la clase de base.
  • Crear una clase derivada.
  • Escribir el código para la clase derivada.
  • Comprobar que funciona
Requisitos Conocimientos previos requeridos:
  • Sintaxis de C#.
  • Conceptos orientados a objetos.

Acceder al Temario

Nos vemos,

Saludos.

23 mayo 2006

Cómo crear clases y objetos en C# .NET

Hola Amigos!!
Navegando por la web encontre unos ejercicios que les pueda interesar y puedan practicar un poco del lenguaje C#, aqui les envio la información del articulo:
Resumen.
C# es un lenguaje de programación orientada a objetos. Se definen las clases para representar los tipos en la aplicación y, a continuación, se crean los objetos como instancias de estas clases. En C#, las clases pueden incluir campos, métodos, propiedades e indizadores. En este artículo, aprenderá a crear una nueva clase en C# para representar un equipo de béisbol. En este artículo se definen campos, métodos y propiedades para la clase. A continuación, se crea un objeto de este tipo de clase y se utilizan sus métodos y propiedades.

Temario.
  • Crear una nueva Aplicación de Consola.
  • Crear una nueva clase.
  • Definir campos y constructores.
  • Definir métodos.
  • Definir métodos de sobrecarga.
  • Definir propiedades.
  • Crear y usar un objeto.
  • Comprobar que funciona

Conocimientos previos necesarios:

Sintaxis de C#.
Conceptos orientados a objetos.

Acceder al Temario

Nos vemos,
Saludos.

20 mayo 2006

Parte II: Usando Treeview y DataGridView con Acceso a Datos

Hola amigos!!!
Continuando con los ejemplos en C#, vamos hacer un ejemplo de donde mostraremos un Listado de Productos por Categorias. Y para este ejemplos usaremos los controles TreeView (treeView1), Button (btnCargar), DataGridView (dataGridView1) y Form. A continuación el diseño del winForms:

Nota: No olvidar que estamos el proyecto ClassLibrary (Conexion).

A continuacion el suiguiente script:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Conexion;
using System.Data.SqlClient;
namespace Ejemplos
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
//usando regiones
#region "Conexion"
//usando la clase ParamConecc del proyecto ClassLibrary (Conexion)
ParamConecc con = new ParamConecc();
#endregion
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
DataSet dsGrupo = new DataSet();
DataTable dtGrupo = new DataTable();
string nodoPadre;
try
{
nodoPadre = Convert.ToString(treeView1.SelectedNode.Text);
string sSQL = "SELECT P.ProductID, P.ProductName, ";
sSQL += " P.QuantityPerUnit, P.UnitPrice ";
sSQL += " FROM Categories C INNER JOIN Products P ";
sSQL += " ON C.CategoryID = P.CategoryID ";
sSQL += " WHERE C.CategoryName = ' " + nodoPadre + " ' ";
sSQL += " GROUP BY C.CategoryName, P.ProductID, ";
sSQL += " P.ProductName, P.QuantityPerUnit, ";
sSQL += " P.UnitPrice ";
SqlDataAdapter daGProducto = new SqlDataAdapter(sSQL, con.cSQL);
daGProducto.Fill(dsGrupo, "gProducto");
dtGrupo = dsGrupo.Tables["gProducto"];
dataGridView1.DataSource = dtGrupo;
// Cambiando nombres a las cabeceras del DataGridView
dataGridView1.Columns["ProductID"].HeaderText = "Codigo";
// Centrando el ID del Producto del DatagridView
dataGridView1.Columns["ProductID"].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
dataGridView1.Columns["ProductName"].HeaderText = "Producto";
dataGridView1.Columns["QuantityPerUnit"].HeaderText = "Cantidad";
dataGridView1.Columns["UnitPrice"].HeaderText = "Precio Unitario";
// Centrado de cabeceras del DataGridView
dataGridView1.ColumnHeadersDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
}
private void btnCargar_Click(object sender, EventArgs e)
{
DataSet dsGrupo = new DataSet();
DataTable dtGrupo = new DataTable();
string sSQL = "Select CategoryName From Categories Group By CategoryName";
SqlDataAdapter daTablaCategoria = new SqlDataAdapter(sSQL, con.cSQL);
treeView1.Nodes.Clear();
try
{
daTablaCategoria.Fill(dsGrupo, "dtCategoria");
dtGrupo = dsGrupo.Tables["dtCategoria"];
foreach (DataRow drFila in dtGrupo.Rows)
{
TreeNode nodo = new TreeNode();
nodo = nodo.Nodes.Add(drFila["CategoryName"] + "");
treeView1.Nodes.Add(nodo);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, "Error");
}
this.dataGridView1.DataSource = null;
}
}
}


Luego presionar la tecla F5:


Ahora amigos si ustedes visualizan el DataGirdView, observaran que la celda del Precio Unitario las cantidades se muestran con dos(2) decimales, a continuación agregue la siguiente linea de script para darle formato a la celda del Precio Unitario:

Una vez agregado el script, presione la tecla F5.

Espero que sea de gran utilidad este demo,

Saludos.

05 mayo 2006

Parte I: Usando DataGridView con Acceso a datos.

Hola a todos!!!
Continuando con los ejemplos en C#, del poyecto anterior vamos usar agregar un WinForms (Form2), un Botón (btnCargarDatos), un DataGridView (dgvDatosCategorias), un Label.
En este caso usaremos el DataGridView, y vamos a cambiar las cabeceras del grid, le vamos aplicar estilo dando color a las filas del grid y por ultimo vamos a agregar indice a los registro.

Vamos es insertar nuestro codigo para nuestro poryecto, donde agregaremos los Namespace:
using Conexion; //proyecto Class Library vamos a escribir la cadena de Conexión de la Base de Datos
using System.Data.SqlClient;


Script del botón btnCargarDatos :: Click
ParamConecc cConex = new ParamConecc();
DataSet dsCategoria = new DataSet();
DataTable dtCategoria = new DataTable();
string cadena = "Select CategoryID, CategoryName From Categories";
SqlDataAdapter daCategoria = new SqlDataAdapter(cadena,cConex.cSQL);
daCategoria.Fill(dsCategoria, "dtCategoria");
dtCategoria = dsCategoria.Tables["dtCategoria"];
dgvDatosCategorias.DataSource = dtCategoria;
//Puedo usar las cabeceras del DataGridView es de dos formas:
//Columns["Nombre_Columna"]:el nombre de la Columna de tipo string
//Columns[index]:el index de la Columna de tipo int
//Cambiar el nombre de las cabeceras del DataGridView
this.dgvDatosCategorias.Columns["CategoryID"].HeaderText = "Codigo";
this.dgvDatosCategorias.Columns[0].DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
this.dgvDatosCategorias.Columns[0].Width = 50;
this.dgvDatosCategorias.Columns[1].HeaderText = "Descripcion";
//Dar Estilo al DatagridView
DataGridViewCellStyle style = new DataGridViewCellStyle();
style.BackColor = Color.LightYellow;
foreach (DataGridViewRow fila in dgvDatosCategorias.Rows)
{
//Agregar indice a la fila
fila.HeaderCell.Value = Convert.ToString(fila.Index + 1);
//vamos a marcar las filas pares
if ((fila.Index + 1) % 2 == 0)
//aplicando el color de estilo al DatagridView
fila.DefaultCellStyle.ApplyStyle(style);
}


Para ejecutar el formulario, presione F5. Luego presione le botón "Cargar Datos".

Espero que sea de gran utilidad este ejemplo, y nos vemos.

Saludos.

25 abril 2006

Parte I: Usando ListBox con Acceso a datos.

Hola a todos.
Continuando con el ejemplo anterior, usaremos la clase ParamConecc, vamos agregar un formulario y a este le agregaremos 3 controles un Label, un ListBox (listBox1) y Button (btnCargar).


A continuación el script del Button:: btnCargar
using System;

....
....
using System.Data.SqlClient;
using Conexion;
namespace Ejemplos
{
.....
public partial class Form5 : Form
{
.....
private void btnCargar_Click(object sender, EventArgs e)
{
ParamConecc conex = new ParamConecc();
DataSet dsGrupo = new DataSet();
DataTable dtTablaListBox = new DataTable();
SqlDataAdapter daTablaListBox = new SqlDataAdapter("Select * From Categories", conex.cSQL);
listBox1.Items.Clear();
try{
daTablaListBox.Fill(dsGrupo,"dtCategoria");
dtTablaListBox = dsGrupo.Tables["dtCategoria"];
foreach (DataRow categoria in dtTablaListBox.Rows) {
listBox1.Items.Add(categoria["CategoryName"]);
}
}
catch(Exception ex) {
MessageBox.Show(ex.Message, "Error");
}
}
}
}
Si desea ejecura la aplicación debe presione F5 y luego presionar el botón para cargar los datos al ListBox.


Espero que sea de gran utilidad este ejemplo, nos vemos.
Saludos.

Parte I: Usando TreeView con Acceso a datos.

Hola a todos.
Vamos a realizar un ejemplo sencillo de como cargar datos de una tabla a un TreeView. En este ejemplo vamos a crear 2 proyectos; un proyecto ClassLibrary y el otro proyecto un WindowsApplication: En el proyecto Class Library vamos a escribir la cadena de Conexión de la Base de Datos.
A continuación el script de la Clase ParamConecc.cs:
using System;
....
....
using System.Data.SqlClient;

namespace Conexion
{
public class ParamConecc
{
SqlConnection vSQL = new SqlConnection("data source=server; user id=sa; initial catalog = Northwind;");
public SqlConnection cSQL {
get {
return vSQL;
} set {
vSQL = value;
}
}
}
}
En el proyecto Windows Application vamos diseñar el formulario respectivo donde agregaremos a nuestro formulario un Label, un TreeView (treeView1) y un Button (btnCargar)




Nota: No olvidarse que debemos realizar una referencia de proyecto. En el proyecto Ejemplos agragaremos la referencia del proyecto Conexion. (visualizar en la imagen)

A continuación el script de la Button::btnCargar.
using System;
....
....
using System.Data.SqlClient;
using Conexion;
namespace Ejemplos
{
public partial class Form1 : Form
{
....
private void btnCargar_Click(object sender, EventArgs e)
{
ParamConecc conex = new ParamConecc();
DataSet dsGrupo = new DataSet();
DataTable dtTablaTree = new DataTable();
SqlDataAdapter daTablaTree = new SqlDataAdapter("Select * From Categories", conex.cSQL); treeView1.Nodes.Clear();
try {
daTablaTree.Fill(dsGrupo, "dtCategoria");
dtTablaTree = dsGrupo.Tables["dtCategoria"];
foreach (DataRow drFila in dtTablaTree.Rows) {
TreeNode nodo = new TreeNode();
nodo = nodo.Nodes.Add(drFila["CategoryName"] + "");
treeView1.Nodes.Add(nodo);
}
}
catch (Exception ex) {
MessageBox.Show(ex.Message, "Error");
}
}
}
}

Para ejecutar nuestra aplicación debemos presionar la tecla F5, y luego presionar el botón para cargar los datos al TreeView.


Espero que sea de gran utilidad este ejemplo, nos vemos.

Saludos.