El enlace de datos proporciona un mecanismo para los desarrolladores para realizar una lectura / escritura de un vículo de controles de un formulario con los datos contenidos en la aplicación. La ventaja de utilizar DataBinding es aprovechar los datos almacenados en la base de datos y poderlos mostrar en controles de manera rápida y sencilla.

Figura 1. DataBinding en Windows Forms
Por medio de la siguiente clase, usted podrá realizar el databinding de los controles de Windows Forms de una manera sencilla.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace SEMNET.Functions
{
/// <summary>
/// Función DataBindControl.
/// Esta función permite ligar los controles a una fuente de datos.
/// Los parámetros que se requieren son: El nombre del control, la propiedad, el DataSource y el DataMember
/// Ejemplo. txtNombre, "Text",lstNombres.DataSource, "NOMBRECONTACTO"
/// </summary>
public class DataBindControl
{
public static void BindField(Control control, string propertyName, object dataSource, string dataMember)
{
//Declaración de variable de tipo Binding
Binding bd;
//En este ciclo, se remueven los objetos contenidos en las propiedades del DataBinding del control.
for (int index = control.DataBindings.Count - 1; (index == 0); index--)
{
//Se va asignando cada registro a la variable bd de tipo DataBinding para comparar sus propiedades.
bd = control.DataBindings[index];
//Se valida que la propiedad de despliegue de datos del control, sea igual a la que mandamos como parámetro a la función.
if (bd.PropertyName == propertyName)
//remueve los registros contenidos en la propiedad del DataBinding del control.
control.DataBindings.Remove(bd);
}
//Se vuelven a agregar los registros del DataSource a la propiedad DataBinding del control.
control.DataBindings.Add(propertyName, dataSource, dataMember);
}
}
}
En los próximos post veremos como utilizar esta clase y ligarla a nuestros controles dentro de un formulario Windows.
Samuel Arellano
MS VIP
599e75e7-5092-4d5b-afff-2647c57db57f|0|.0
Que tal amig@s,
El día de ahora en mi trabajo, me ví en la necesidad de abrir el sitio web de la empresa a través de mi aplicación Windows Forms, para lo cual les comparto la siguiente clase.
Unicamente se manda como parámetro la dirección del sitio, ej. http://www.microsoft.com en formato string y mediante la clase se desplegará el sitio. Les recomiendo mandar llamar esta clase a través de algón botón de su Form o Windows en el caso de utilizar WPF.
using System;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
namespaceSEMNET.Functions
{
public classDisplayWebSite
{
public static voidDisplayWeb(stringwebsite)
{
System.Diagnostics.Process.Start(website);
}
}
}
Saludos,
Samuel Arellano
8fc84dc8-b068-45f0-8c4f-e53bd3e8776c|0|.0
Que tal amig@s, el día de ahora en mi trabajo se me presento la necesidad de formatear la fecha contenida en la base de datos, de la siguiente manera: Martes, 9 de Marzo de 2010. Para lo cual me vi en la necesidad de crear una función, la cual comparto con ustedes.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace SEMNET.Functions
{
public class ConvertirFechaaTexto
{
public static string ConvertirFechaTexto(DateTime fecha)
{
//--REGRESA: Martes, 9 de Marzo de 2010
string fechaformateada = string.Empty;
int anio=0,mes=0,dia=0;
string diaenletra = "";
string mesenletra="";
anio = fecha.Year;
dia = Convert.ToInt32(fecha.DayOfWeek);
switch (dia)
{
case 1:
diaenletra= "Domingo";
break;
case 2:
diaenletra = "Lunes";
break;
case 3:
diaenletra = "Martes";
break;
case 4:
diaenletra = "Miércoles";
break;
case 5:
diaenletra = "Jueves";
break;
case 6:
diaenletra = "Viernes";
break;
case 7:
diaenletra = "Sábado";
break;
}
switch (fecha.Month)
{
case 1:
mesenletra = "Enero";
break;
case 2:
mesenletra = "Febrero";
break;
case 3:
mesenletra = "Marzo";
break;
case 4:
mesenletra = "Abril";
break;
case 5:
mesenletra = "Mayo";
break;
case 6:
mesenletra = "Junio";
break;
case 7:
mesenletra = "Julio";
break;
case 8:
mesenletra = "Agosto";
break;
case 9:
mesenletra = "Septiembre";
break;
case 10:
mesenletra = "Octubre";
break;
case 11:
mesenletra = "Noviembre";
break;
case 12:
mesenletra = "Diciembre";
break;
}
fechaformateada = diaenletra + ", " + fecha.Day.ToString() + " de " + mesenletra + " de " + fecha.Year.ToString();
return fechaformateada;
}
}
}
Espero que les sea de utilidad.
Saludos.
Samuel Arellano
ea5e583f-365d-4a05-9443-b4925826fd38|0|.0
Que tal amig@s,
STYLE COP
Hoy quiero hablarles de una herramienta gratuita de gran utilidad para el IDE de Visual Studio. StyleCop analiza analiza código fuente C # para hacer cumplir un conjunto de estilo y reglas de consistencia. Incluye varias normas las cuales harán que los desarrollos que realicemos sean codificados de manera más entendibles para su mantenimiento y/o soporte.
Las normas se clasifican en las siguientes categorías:
* Documentación
* Diseño
* Mantenimiento
* Naming
* Legibilidad
* Espaciado
Básicamente su integración con el IDE, permite a StyleCop ayudar al equipo de desarrollo, crear mediante esta herramienta código más legible y entendible para el grupo de desarrollo, independientemente de quien lo haya realizado.
Se los recomiendo para utilizarlo.
Sitio Web: http://code.msdn.microsoft.com/sourceanalysis
Download para VS2010: http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=sourceanalysis&ReleaseId=3754
Samuel Arellano
4f6aa17b-328e-4375-b9d6-ca454ad8beb2|2|3.5
Que tal amig@s,
Después de estudiar apróximandamente 1 mes y medio, me decidí por hacer el examen de certificación 70-536 sobre Fundamentos del Microsoft .Net Framework. Debo reconocer que si me tenía algo angustiado ir a Tijuana y tronar el examen jejeje. Gracias a Dios y a que me preparé logre aprobarlo.
La verdad me siento muy agradecido con varios colegas informáticos los cuales me orientaron en mi capacitación a los cuales me gustaría nombrar en este post:
.jpg)
- Haaron González (MVP de Microsoft y el cual me ha orientado en mi crecimiento profesional y el cual es mi inspiración como profesionista y paisano).
- Jónas ( De la comunidad DotNetClub de Albacete España).
- Eliana ( Desarrolladora Colombiana MCP, la cual me ha aportado su experiencia en este tipo de examenes)
- Kamila ( Desarrolladora Colombiana MCP, la cual me ha brindado su experiencia en este tipo de examenes)
- Fernando ( Desarrollador Argentino MCTS, el cual me asesoró en los temas que contiene el examen)
A todos y cada uno de ellos quiero agradecerles su apoyo. También me gustaría agradecer a la gente de New Horizons en Tijuana que se portaron a todo dar. GRACIAS :)
P.D. FELIZ AÑO NUEVO A TODOS QUE SUS PROPOSITOS PERSONALES Y PROFESIONALES SE CUMPLAN EN ESTE 2010.
LOS MEJORES DESEOS DE SU AMIGO
SAMUEL ARELLANO
fb6f5c39-a657-4022-948f-13772c40cea9|1|5.0
Que tal amig@s,
Microsoft dentro de su publicación mensual de actualizaciones, hoy cuenta con 6 boletines de seguridad entre los cuales destacan 3 (considerados críticos) y 3 de caracter importante, los cuales resuelven 12 vulnerabilidades de diferentes productos de la compañía, los cuales podrían ejecutar código vía remota o bien la denegación de servicios.
Los boletines publicados son los siguientes:

- MS09-071: Resuelve el servicio de autentificación de Internet, si los mensajes que recibe se copian incorrectamente mediante la autentificación PEAP.
- MS09-072: Resuelve 4 vulnerabilidades de Internet Explorer ( seguridad acumulativa ).
- MS09-074: Resuelve vulnerabilidad en Microsoft Office Project, la cual podría ejecutar Malware si un usuario abre un archivo de Project especialmente diseñado.
- MS09-069: Soluciona la vulnerabilidad referente al servicio del subsistema de autoridad de seguridad local, el cual podría verse afectado por denegación de servicio si un atacante autenticado envía un mensaje ISAKMP diseñado mediante el protocolo de Internet (IPSEC) con el servicio de subsistema de autenticación de seguridad local (LSASS).
- MS09-070: Soluciona la ejecución de código malicioso mediante solicitudes HTTP.
- MS-073: Resuelve la vulnerabilidad de que podría permitir la ejecución de código malicioso mediante un archivo de Word 97, permitiendo ganar los mismos privilegios que el usuario.
Es recomendable siempre realizar las actualizaciones que recomienda Microsoft, estás las pueden lograr mediante Windows Update.
Interesados pueden acceder a más información y descarga de Boletín Seguridad de Microsoft Diciembre 2009 desde www.microsoft.com.
Saludos,
Samuel Arellano.
P.D. Si te sirve este artículo no dejes de comentar :)
2d5af75a-ba86-4ab8-88f8-0208c7770284|0|.0
Que tal amig@s,
El día de ahora me encontré con un problema, realice un databind de un control CheckListBox en Windows Forms 2.0/3.5, el DisplayMember y el ValueMember si fueron asignados correctamente, pero el problema es que no te dejará asignarle el estado del checkbox. Leyendo un poco el libro de certificación para windows forms ( training kit 70-526) me encontré con la siguiente recomendación.

Así que si están utilizando ese control, ni modo tendremos que realizar el populado del control de manera manual.
Saludos.
Samuel Arellano
dfcd332b-9744-4c8e-9f41-bf4de138da03|2|5.0
Microsoft ha confirmado una falla de seguridad que afecta al Sistema Operativo Windows 7 ( Ver más en el sig. link vulnerabilidad) y que podría causar una denegación de servicio. Esta falla es capaz de generar un bucle infinito, el cual radica básicamente en el componente SMB (conocido como bloqueo de mensajes al servidor) del Sistema Operativo Windows 7. El experto de seguridad que ha descubierto dicha vulnerabilidad comenta que se podría activar desde Internet Explorer y permitiría a un hacker bloquear el kernel (esto es, superar la protección del Firewall).
Aún se desconoce si esta vulnerabilidad esta siendo utilizada por los hackers en Windows 7, aunque se ha dicho que no permite la ejecución de Malware, ni control remoto del equipo. Como recomendación Microsoft sugiere que se bloqueen los puertos TCP 139 Y 445.
Cabe mencionar que también esta vulnerabilidad afecta a Windows Server 2008 RC2.
Estaré en espera de noticias sobre boletines de seguridad, y ver si existe alguna otra sugerencia referente a este punto.
Saludos.
Samuel Arellano
198b8ff5-d4be-46e7-9931-c4261ad9dce0|1|5.0
Que tal amig@s,
Según informes de la empresa Symantec (la que hace el famoso NORTON, jeje), hace referencia a una vulnerabilidad de seguridad que podría ser utilizada para controlar un sistema Windows, a través del navegador Internet Explorer. Las versiones de IE que sufren de esta vulnerabilidad son las versiones 6 y 7, debido a que existe un defecto relacionado con las CSS (hojas de estilo en cascada), las cuales se utilizan para mostrar información en páginas web. Este exploit podría permitir a los atacantes ejecutar una especie de Spyware dentro de nuestra computadora.
.png)
Aún a la espera del boletín de Microsoft, los investigadores de Symantec aseguran que la nueva versión de Internet Explorer 8 no se ve afectada por esta vulnerabilidad. Hasta el momento no se ha publicado nada oficial por parte de Microsoft, con lo que se recomienda actualizar el navegador web en caso de tener versiones anteriores para evitar alguna anomalía en su PC.
P.D. Recuerden que los boletines sobre seguridad salieron el día 8 de diciembre, no estaría demás dar un vistazo en caso de algón Fix para esta vulnerabilidad.
Saludos.
Samuel Arellano.
e08c8c26-fc57-49f7-83ff-d5febd86cd33|1|3.0
Que tal amig@s,
Durante la conferencia de desarrolladores profesionales 2009, Microsoft dió la primicia de noticias acerca de Windows 8 (nombre en código del sucesor de Windows 7) y Windows Server 2012, los cuales serán los sucesores de los actuales sistemas operativos de escritorio y servidor de Microsoft, los cuales se espera estén a la venta para el año 2012. Como se puede observar Microsoft, esta apostando por la renovación de sus sistemas operativos cada tres años considerando como revisión fundamental la de añadir características de rendimiento y mostrar novedades tecnologícas en sus nuevos productos.
Los rumores que se han presentado entorno a Windows 8, es que posiblemente la arquitectura que manejará sea de 128 bits o la de rehacer de forma completa el kernel de Windows con la finalidad de mejorar el rendimiento del Sistema Operativo.
En cuanto tenga más información, la postearé jeje. Mientras tanto esperaremos mejoras en Windows 7.
Saludos.
Samuel Arellano
Microsoft Profesionista VIP
712c0cbd-7701-49d1-b1f8-166ec55810e9|2|4.5