Antes que nada cabe aclarar que este efecto solo funciona en windows 7 y windows vista.
Una vez aclarado esto comenzamos.
Primero creamos un nuevo proyecto en C#, esto lo logramos ya sea seleccionando al menú de archivo y presionando Nuevo proyecto o presionando el primer botón en la barra siguiente a la barra de menú.
En la ventana abierta seleccionamos del lado izquierdo Visual C# y del lado derecho Windows Forms Application
Una vez que tenemos el formulario creado colocamos en medio de el alguna imagen con transparencia para poder apreciar el efecto aero, eso lo vamos a lograr jalando un control de nuestra barra lateral llamado PictureBox
Una vez que ya hemos puesto el control en el formulario lo acomodamos y seleccionamos la imagen que queremos que aparezca en el.
Lo siguiente es hacer que el fondo del control, el PictureBox que acabos de poner sea transparente, con la finalidad de que la imagen y su transparencia destaquen en el formulario.
Ahora procedemos con el código fuente, para poder acceder a el presionamos F7 una vez abiero, en la sección de las librerías agregaremos una nueva:
using System.Runtime.InteropServices;
En seguida, antes del constructor de la pantalla agregaremos el siguiente código
[StructLayout(LayoutKind.Sequential)]
public struct Margins
{
public int cxLeftWidth;
public int cxRightWidth;
public int cyTopHeight;
public int cyButtomheight;
}
[DllImport("dwmapi.dll" )]
public static extern int DwmExtendFrameIntoClientArea(IntPtr hWnd, ref Margins pMarinset);
Este código generará la transparencia a partir de de una estructura de margen y la llamada a la función dentro de un dll.
El siguiente código puede ir antes o después del constructor de la pantalla.
private void Form1_Load(object sender, EventArgs e)
{
BackColor = System.Drawing.Color.Black;
Margins margins = new Margins();
margins.cxLeftWidth = -1;
margins.cxRightWidth = -1;
margins.cyTopHeight = -1;
margins.cyButtomheight = -1;
//set all the four value -1 to apply glass effect to the whole window
//set your own value to make specific part of the window glassy.
IntPtr hwnd = this.Handle;
int result = DwmExtendFrameIntoClientArea(hwnd, ref margins);
}
El código escrito representa la serie de instrucciones a realizar en determinado evento, ahora hay que asignar el método al evento, para ello utilizamos el siguiente código.
Load += Form1_Load;
Este código puesto dentro del constructor después de la llamada al método InitializeComponent() para quedar el constructor de la siguiente manera.
public Form1()
{
InitializeComponent();
Load += Form1_Load;
}
Al finalizar el código deberá lucir similar a esto.
Por ultimo lo ejecutamos presionando F5 y obtendremos esto.
Espero le halla gustado y les sea útil.