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
Un 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.
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.
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: