Archivo

Archive for the ‘Windows Form’ Category

[Windows Form] Definir un Access Key con un Label Control

junio 2, 2009 1 comentario

Esto nos puede ser de utilidad en partes de nuestro proyecto en el que tengamos por ejemplo: varios controles Textbox con etiquetas  que indican que valores debemos ingresar en cada Textbox (Imagínense su formulario de registro). Si definimos un Access Key en nuestras etiquetas podemos cambiar el foco al control que le indiquemos, pero veamos como hacer esto:

En un formulario Agreguemos tres controles TextBox y tres controles Label, que simulen un Formulario de registro, que tenga más o menos la siguiente apariencia:

image

Ahora la propiedad TabIndex de cada control Label deber ser un indice menor que el del control al que se va a enlazar con el Access key en este caso su correspondiente control TextBox, es decir; algo como el siguiente código:

label1.TabIndex = 0;
textBox1.TabIndex = 1;

Aunque esto lo podemos hacer desde la ventana de propiedades. Otra cosa que debemos hacer es verificar que la propiedad UseMnemonic que si es true, el primer carácter precedido por un símbolo ‘&’ se utilizará como la tecla de acceso de la etiqueta.

label1.UseMnemonic = true;

Ahora solo debemos asignarle un valor a la propiedad Text de cada etiqueta y aquí es donde le indicamos que letra se utilizará como tecla de acceso para esto solo tenemos que preceder el símbolo ‘&’ de dicha letra, por ejemplo:

label1.Text = "N&ombre";

En este caso la tecla de acceso es la letra ‘o’, lo que indica que cuando presionemos ALT + o  el el Textbox1 obtendrá el foco.

Todas estas modificaciones las podemos hacer desde la ventana de propiedades, no es necesario escribir el código para esto. Ahora si ejecutan su proyecto cada que presionen ALT + o se colocara el foco en el Textbox1  y seria lo mismo con las otras etiquetas según la letra a la que le asignemos el  key, recuerden que para que funcione las propiedades TabIndex de cada Label deben ser menor al de los Textbox’s

Para que chequen como funciona esto o por si no entendieron la explicación coloquen este código en el evento Load del Form después de agregar los controles:

label1.Text = "N&ombre";

label1.TabIndex = 0;
textBox1.TabIndex = 1;


label2.Text = "A&pellidos";
label2.TabIndex = 2;
textBox2.TabIndex = 3;


label3.Text = "M&ail";
label3.TabIndex = 4;
textBox3.TabIndex = 5;

Y ejecutamos y hagan las respectivas pruebas presionando “ALT + O”  ó “ALT + A” ó “ALT + P” y vean que es lo que pasa. Espero que les sea de utilidad.

Saludos!!

Etiquetas de Technorati: ,,
Categorías:C#, Ejemplos, Tips, Windows Form

[Windows Form] Identificando los clic’s en un Control Button

Por lo regular todo mundo cuando trabaja con Windows Form y hacemos uso de un control Button por lo regular solo usamos el Evento Click, pero en realidad podemos identificar si hacemos clic con el botón derecho del mouse, con el izquierdo o simplemente clic que es el que todos conocemos, pues bien aquí como identificar los clic’s en un control Button.

Para esto lo vamos a realizar en el evento MouseDown del Botón el cual tiene lugar cuando el puntero del mouse se encuentra sobre el componente y pulsa un botón del mouse y escribimos el siguiente Código:

private void button1_MouseDown(object sender, MouseEventArgs e)
{
    switch (e.Button)
    {
        case MouseButtons.Left:
            MessageBox.Show("Se presionó el botón isquierdo del mouse");
            break;
        case MouseButtons.Right:
            MessageBox.Show("Se presionó el botón derecho del mouse");
            break;
        case MouseButtons.Middle:
            MessageBox.Show("Se presionó el botón central del mouse");
            break;
    }
}

De esta manera podemos identificar que botón del mouse se presiono sobre nuestro control Button. Espero que les sea de ayuda.

Saludos!

Etiquetas de Technorati: ,,,,
Categorías:.NET, 70-526, C#, Ejemplos, Windows Form

[Windows Form] Formulario triangular

mayo 26, 2009 2 comentarios

Hace algún tiempo escribí como hacer un formulario de tipo circular, esta vez roca como hacer triangular.

1.Necesitamos establecer la propiedad FormBorderStyle en None

2. Colocar la propiedad StartPosition en CenterParent

3. Colocar el siguiente código en el evento Load de nuestro formulario:

System.Drawing.Drawing2D.GraphicsPath miPath = new System.Drawing.Drawing2D.GraphicsPath();
miPath.AddPolygon(new Point[] { new Point(0, 0), new Point(300,0), new Point(150,150)});
Region miRegion = new Region(miPath);
this.Region = miRegion;

Y listo!!

Seguro se preguntaran que esto para que, pero me imagino que a alguien le puede servir.

Actualización 01/06/2009

Así se ve el formulario triangular.

image

Saludos!

Etiquetas de Technorati: ,,
Categorías:Ejemplos, Tips, Windows Form

[Windows Form] Full Screen en un aplicación Windows Form

mayo 26, 2009 5 comentarios

Si alguna vez tienen la necesidad de aplicar la posición y tamaño de un Formulario en pantalla completa, solo tenemos que hacer un par de cosas.

1. Colocar la propiedad StartPosition en Manual

2. Colocar el siguiente código en el evento Load de nuestro formulario:

this.Size = SystemInformation.PrimaryMonitorSize;

otra forma de hacerlo desde Visual Basic, que a mi en lo particular no me agrada es la siguiente:

Me.MaximumSize = New Point(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)
Me.MinimumSize = New Point(My.Computer.Screen.Bounds.Width, My.Computer.Screen.Bounds.Height)

Aquí el como hacerlo por si les sirve, se que es muy sencillo, pero me imagino que ha alguien le debe servir.

Saludos!

Etiquetas de Technorati: ,,
Categorías:.NET, Ejemplos, Tips, Windows Form

[Windows Form] Crear Formularios Circulares

abril 16, 2009 2 comentarios

Dependiendo de muchas necesidades a la hora de trabajar con la interface de Usuario al momento de trabajar con Controles Windows Form, quizá en algún momento tengamos la necesidad de crear un Formulario Circular, Ovalado, etc..

Para poder hacer esto es necesario manipular la propiedad de Region del Formulario que es una instancia de System.Drawing.Region la cual obtiene o establece la región de ventana asociada al control.

Bien lo que tenemos que hacer es crear un path que contiene la figura de Elipse (en nuestro caso ya que podemos crear más formas), para esto podemos crear un método llamado MiRegion() que contiene el siguiente código:

Private Sub MiRegion()
      'La propiedad GraphicsPath representa 
      'una serie de lineas y curvas conectadas.
      Dim miPath As New System.Drawing.Drawing2D.GraphicsPath

      'Esta linea agrega un elipse al grafico
      'usando las propiedades de ancho y alto del From
      miPath.AddEllipse(0, 0, Me.Width, Me.Height)

      'Agregamos el path a una nueva propiedad de Region
      Dim miRegion As New Region(miPath)

      'Por ultimo asignamos nuestra region a la del Formulario
      Me.Region = miRegion

  End Sub

En tiempo de diseño no podemos modificar la región del formulario, por eso es que debemos hacerlo en tiempo de ejecución y para que nuestro método funcione debemos colocarlo en el evento Load de nuestro formulario.

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        MiRegion()
    End Sub

Ahora si ejecutamos nuestra aplicación de Windows tenemos un resultado como el siguiente:

image

Etiquetas de Technorati: ,,
Categorías:70-526, Windows, Windows Form