21 de mayo de 2008

Visual Studio SP1 Beta Inglés

Bueno como siempre Microsoft sacando sus actualizaciones para plos programas que han creado hay veces nos dicen que son para mejorar el funcionamiento de nuestro software pero eso en acaciones es para resolver problemas o errores del mismo software; esto no es algo que nos sorprende siempre sucede y con todos los software que han desarrollado

En esta ocacion le toca al Visual Studio 2008 que ya ha salido el SP1 de este y la informacion que esto nos tienen es la siguiente:

Descripción general

Esta descarga instala Visual Studio 2008 Beta SP1. Visual Studio 2008 SP1 incluye soporte para SQL Server 2008, ADO.NET nuevas características como el Marco de la Entidad, las mejoras a los PMA diseñadores, WCF Silverlight plantillas para proyectos, depurador de apoyo para el. NET Framework público los símbolos y la fuente de liberación, el control de tales mejoras como el DataRepeater de Windows Forms y Office 2007 Cintas para C + +, y varias actualizaciones generales para depurar y IntelliSense. SP1 también aumenta la estabilidad, rendimiento y seguridad de muchas características.

el .NET Framework 3,5 Service Pack 1 agrega muchas características nuevas y fija, entre ellas las siguientes:
  • .NET Framework Client Release (“Arrowhead”) . NET Framework cliente de lanzamiento ( "Arrowhead")
  • ASP.NET Dynamic Data ASP.NET datos dinámicos
  • ASP.NET Routing ASP.NET Routing
  • ADO.NET Data Services Servicios de datos ADO.NET
  • ADO.NET Entity Framework ADO.NET entidad Marco
Por el Momento esta en Beta esta actualizacion y solo esta disponible para la version inglesa asi que esperaremos la liberacion final y la española
siquieren probar esta actualizacion la pueden descargar de enlace de descarga

10 de mayo de 2008

Crear Boton Personalizado (Parte 3 y Ultima)

Primera Parte
Segunda Parte
Bueno despues de varios dias mas o menos un semana disculpen que esta muy ocupado en mi trabajo ya le dire a mis amigos a ver si me ayudan a subir temas de programacion de los cuales ellos quieran hablar de ello y asi pues siempre tengamos algo nuevo

Ahora les traigo la ultima parte de como crear nuestro boton personalisado en esta tercera y ultima parte crearemos cuatro propiedades de tipo "image" a nuestro control y una que sera la etiqueta inteligente que se mostrara al selecionar el control y este sera el siguiente codigo para poder crear nuestro boton

como podemos notar las propiedades creadas son las siguiente
  • EtiquetaBoton--->propiedad para poner etiqueta etiligente
  • imgPrecionado-->propiedad image para mostrar al precionar el boton
  • imgencima------>propiedad image al selecionar el boton
  • imgnormal------>propiedad image en estado normal
  • imgDiseable---->propiedad image cuando el boton esta desahabilitado
Bueno como veran antes de cada propiedad creada se tiene dos lineas de codigo que son las siguientes:

[Category("Mis Propiedades")]
[Description("Etiqueta Inteligente a mostrar al Pasar el Mouse en el control")]

estas lineas se las pondremos ya que nos servira cuando nosotros incluyamos nuestro boton en donde lo querramos utilizar y nos mostrara la propiedad y la descripcion de esa propiedad y para que sirve, para entender esta parte le mostrare una imagen de donde sirve o donde se ve la utilidad de estas dos lineas de codigo:

image
como ven la primera linea nos crea una nueva categoria en las propiedades de nuestro control personalizado y la sugunda linea nos muestra o nos sirver para poner uan descripcion de nuestra propiedad creada

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

namespace MiBotonCambiante
{
public partial class BotonCambiante : Control
{
private Image press; //Imagen a mostrar cuando se ha precionado nuestro control
private Image over; //Imagen a mostrar cuando el puntero del mouse esta encima del control
private Image normal; //Imagen a mostrar cuando nuestro control esta en estado normal
private Image Desabilitado; //Imagen a mostrar cuando nuestro control esta deshabilitado
private ToolTip etiquetaInteligente=new ToolTip(); //Etiqueta a mostrar cuando esta selecionado el control
private string etiqueta="Etiqueta del boton";
#region agregar cuatro propiedades de tipo imagen a control

[Category("Mis Propiedades")]
[Description("Etiqueta Inteligente a mostrar al Pasar el Mouse en el control")]
public String EtiquetaBoton
{
get { return etiqueta; }
set { etiqueta = value; }
}
[Category("Mis Propiedades")]
[Description("Imagen A mostrar al Precionar el control")]
public Image imgPrecionado
{
get{return press;}
set{press = value;}
}
[Category("Mis Propiedades")]
[Description("Imagen cuando el mouse esta en el area del control")]
public Image imgencima
{
get{return over;}
set{over = value;}
}
[Category("Mis Propiedades")]
[Description("Imagen cuando el control estado en un estado normal")]
public Image imgnormal
{
get{return normal;}
set{normal = value;}
}
[Category("Mis Propiedades")]
[Description("Imagen a mostrar cuando el control esta desahabilitado")]
public Image imgDisable
{
get{return Desabilitado;}
set{Desabilitado = value;}
}
#endregion
public BotonCambiante()
{
InitializeComponent();
}

protected override void OnPaint(PaintEventArgs pe)
{
base.OnPaint(pe);
}
}
}



una ves creado nuestras propiedades de nuestro boton ahora sobreescribiremos los metodos el cual tendra nuestro control recordemos que nuestro control personalizado hereda las propiedades y todos los metodos del control "Button" asi que ahora lo que procederemos hacer es que nuestro boton funcione o que cambie las imagenes cuando se produsca cada evento
asi quedara cuando le modifiquemos o sobrescribamos los metodos y con esta parte terminaremos nuestro control les pondre el archivo de ejemplo para que ustedes puedan descargarlo y que vean todo lo que contiene


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

namespace MiBotonCambiante
{
public partial class BotonCambiante : Control
{
private Image press; //Imagen a mostrar cuando se ha precionado nuestro control
private Image over; //Imagen a mostrar cuando el puntero del mouse esta encima del control
private Image normal; //Imagen a mostrar cuando nuestro control esta en estado normal
private Image Desabilitado; //Imagen a mostrar cuando nuestro control esta deshabilitado
private ToolTip etiquetaInteligente=new ToolTip(); //Etiqueta a mostrar cuando esta selecionado el control
private string etiqueta="Etiqueta del boton";
#region agregar cuatro propiedades de tipo imagen a control

[Category("Mis Propiedades")]
[Description("Etiqueta Inteligente a mostrar al Pasar el Mouse en el control")]
public String EtiquetaBoton
{
get { return etiqueta; }
set { etiqueta = value; }
}
[Category("Mis Propiedades")]
[Description("Imagen A mostrar al Precionar el control")]
public Image imgPrecionado
{
get{return press;}
set{press = value;}
}
[Category("Mis Propiedades")]
[Description("Imagen cuando el mouse esta en el area del control")]
public Image imgencima
{
get{return over;}
set{over = value;}
}
[Category("Mis Propiedades")]
[Description("Imagen cuando el control estado en un estado normal")]
public Image imgnormal
{
get{return normal;}
set{normal = value;}
}
[Category("Mis Propiedades")]
[Description("Imagen a mostrar cuando el control esta desahabilitado")]
public Image imgDisable
{
get{return Desabilitado;}
set{Desabilitado = value;}
}
#endregion
public BotonCambiante()
{
InitializeComponent();
}

protected override void OnPaint(PaintEventArgs pe)
{
base.OnPaint(pe);
}
public override Image BackgroundImage
{
get
{
return base.BackgroundImage;
}
set
{
base.BackgroundImage = value;
}
}    
protected override void OnClick(EventArgs e)
{
//sobreescribir el metodo
//para que cuando se de clik
//sobre el control cambie de imagen
base.Image = imgPrecionado;
base.OnClick(e);
}    
protected override void OnMouseHover(EventArgs e)
{

//sobreescribir el metodo
//para que cuando el puntero del
//mouse pase sobre el control
//la imagen cambie y tambien
//se muestre nuestra propiedad
//creada de etiqueta inteligente
base.Image = imgencima;
etiquetaInteligente.SetToolTip(this, EtiquetaBoton);
base.OnMouseHover(e);
}
protected override void OnMouseLeave(EventArgs e)
{
/*sobrescribimos el metodo cuando
* el puntero del mouse deja el
* control y nuestro control
* regresa a tener la imagen que
* tendra en estado normal
*/
base.Image = imgnormal;
base.OnMouseLeave(e);
}
protected override void OnMouseDown(MouseEventArgs mevent)
{
base.Image = imgPrecionado;
base.OnMouseDown(mevent);
}
protected override void OnCreateControl()
{
//esta se ha modificado por
//conveniencia y para especificar
//algunas caracteristicas por default
//que tendra el control
base.OnCreateControl();
base.Image = imgnormal;
base.FlatStyle = FlatStyle.Flat;
base.FlatAppearance.MouseDownBackColor = Color.Transparent;
base.FlatAppearance.MouseOverBackColor = Color.Transparent;
base.FlatAppearance.BorderSize = 0;
//base.Text = "NombreBoton";
base.TextAlign = ContentAlignment.BottomCenter;
base.ImageAlign = ContentAlignment.TopCenter;
//base.Height = 40;
//base.Width = 40;
}
protected override void OnEnabledChanged(EventArgs e)
{
/*sobrescribimos el metodo
* cuando nuestro control
* esta en estado desactivado
* es decir cuando la propiedad
* enable=false y cambie de imagen
* a mostrar y cuando la propiedad
* en cuestion se true la imagen
* a mostrar se la del estado normal
*/
base.OnEnabledChanged(e);
if (base.Enabled)
base.Image = imgnormal;
else
base.Image = imgDisable;

}
}
}


Descargar archivo ENLACE CORREGIDO SALUDOS 17/01/2013

Social Icons