Windows Forms






Clipboard

Imágenes Windows MetaFile y Clipboard


Debido a las limitaciones de la implementación del objeto DataObject que utiliza el .NET Framework para manejar los datos del Portapapeles de Windows nos podemos encontrar con que nuestra aplicación no reconozca las imágenes de tipo Windows MetaFile que otras aplicaciones han colocado en el Portapapeles.

Y, en la otra dirección, nos podemos encontrar también con que otras aplicaciones no son capaces de reconocer las imágenes de este tipo que colocamos en el Portapapeles desde nuestra aplicación.

En este artículo mostraré cómo podemos utilizar la API de Win32 para crearnos una clase helper que nos permita salvar este problema.

Artículos:
Código:

Forms

MDI Child sin ControlBox


En muchas ocasiones, al desarrollar nuestras aplicaciones de escritorio, deseamos hacer navegar al usuario entre diferentes pantallas sin necesidad de ir abriendo diferentes ventanas.

Para lograrlo podemos implementar diferentes soluciones, por ejemplo tener diferentes paneles o controles de usuario ocultos en un formulario que se van mostrando según va navegando el usuario de una pantalla a otra.

Otra posible solución es la de usar un formulario MDI e ir mostrando en su interior los diferentes formularios hijos maximizados, pero ¿cómo evitamos que el usuario pueda redimensionar o minimizar el formulario hijo? ¿Cómo podemos conseguir que nuestro formulario hijo ocupe todo el espacio del formulario contenedor y que no nos muestre los botones de minimizar, restaurar y maximizar?

Artículos:

Pasar datos entre formularios


Una consulta que se repite muy habitualmente es la de saber cómo pasar datos entre dos formularios.

En este ejemplo se muestra cómo crear un formulario de edición para las filas de un DataGridView, pasando los datos a editar a este formulario y recuperando los datos editados por el usuario para actualizar el contenido del DataGridView.

Artículos:








TextBox

Control TextBox con Botón


Campos de búsquedasUn interfaz que nos encontramos con mucha frecuencia es el cuadro de texto con un botón asociado. Se utiliza principalmente en pantallas de búsquedas, pero también nos lo podemos encontrar para cubrir otras necesidades: acceso a interfaces de entrada de datos (calendario, calculadora, ...), a información de ayuda, etc.

Por desgracia el framework de .NET no incluye un control con esta funcionalidad. Podemos suplir esta carencia creándonos un control de usuario con un TextBox y un Button, pero vamos a ver cómo podemos modificar el TextBox para añadirle esta funcionalidad, creando un nuevo control que herede del control TextBox.

Artículos:
Código:

TextBox con sugerencias


El control TextBox incluido con en el Framework de .NET incorpora la opción de mostrar sugerencias mientras se escribe estableciendo la propiedad AutoCompleteMode al valor Suggest. Sin embargo la posibilidad de controlar los textos sugeridos es muy limitada, se limita a mostrar los textos que comienzan con el texto introducido por el usuario en el TextBox a partir de una colección de cadenas.

Sin embargo, ¿qué pasa si el criterio que queremos utilizar para seleccionar los textos a sugerir es otro? Por ejemplo si queremos implementar un control con sugerencias al estilo de las búsquedas de Google.


En este artículo, y los siguientes, voy a mostrar cómo podemos crear un control TextBox que nos permita elegir el algoritmo a utilizar para mostrar los textos sugeridos.

Artículos:
Código:

ComboBox

ComboBox con imágenes


Cómo crear un CombBox en el que cada item cuente con una imagen además del texto.
ComboBox con imágenes

Artículos:
Código:

El puntero del ratón desaparece


El control ComboBox toma el control de todos los eventos del ratón del formulario cuando se despliega el problema es que no inicializa el cursor del ratón por lo que, hasta que se cierra el desplegable, se mantiene el mismo cursor que se encontraba activo y, si estaba oculto, directamente no se muestra.

Artículos:

DataGridView

Columna que acepta sólo números


En este artículo voy a mostrar cómo crear un nuevo tipo de columna para el DataGridView para almacenar valores numéricos enteros, de forma que las celdas únicamente admitan la introducción de caracteres numéricos.

Artículos:
Código:

Columna con editor de fechas


El DataGridView es un control con funcionalidad básica que permite una gran extensibilidad. En este artículo mostraré como crear una columna para datos de tipo fecha que utilice un DateTimePicker como editor.

Artículos:
Código:

Columna para números con decimales


Un nuevo tipo de columna para datos numéricos que permite especificar el carácter a utilizar como separador decimal y el número de dígitos decimales admitidos.

Artículos:
Código:

ListBox

Personalizar la apariencia de los items de un ListBox


En este artículo voy a mostrar cómo se puede personalizar la apariencia individual de cada elemento de un control ListBox.

El objetivo final es conseguir un ListBox con esta apariencia.

Listbox con elementos personalizados


Artículos:

Imágenes

Mostrar imagen a pantalla completa


Hace poco me realizaron una pregunta sobre cómo se puede mostrar una imagen a pantalla completa en Windows Forms. La verdad es que es algo que resulta muy sencillo de implentar en Windows Forms y que genera un efecto muy llamativo para el usuario. En este artículo se muestra cómo conseguirlo.

Artículos: