Ir al contenido principal

Formulario MDI (Evitar maximizado en cascada)

Bien!, como lo dice el titulo, todos los que trabajamos en .NET ya sabemos de antemano que cuando utilizamos un formulario MDI todos los formularios hijos cuando uno esta maximizado todos los demás se maximizan sin importar que tengan desactivado el botón de maximizar o que le hayamos indicado una valor al valor máximo de maximizado, Al MDIClient no le importa, si uno esta maximizado, todos se maximizaran.

bien!, la idea de este articulo es cambiar la funcionalidad del control MDIClient para que esto no suceda, ya que suele ser molesto y hace que no queramos trabajar con formularios MDI.

así que si estas interesado en saber como cambiar esta funcionalidad, no dejes de estar pendiente de este articulo.


Comentarios

  1. esposible personalizar el Datagriview con el Area vacia pintada y ademas colocar los botones buscar y eliminar y el scrollbar horizontal vertical seguen la necesidad crees que esposible...

    ResponderEliminar
    Respuestas
    1. Hola yo hice algo similar Datagriview con el Area vacia pintada coloque los bonotes que necesitaba para el proyecto y usando codigo logre que se posicionen con la fila seleccionada funcionan bien.

      Eliminar
    2. Necesitaría ver una imagen de lo que quieren hacer para tener una mejor idea, pero si se puede, yo igual lo hice para una opción de un sistema, lo que hice fue usar la columna indicador para allí pintar los botones para la fila seleccionada.

      si es a lo que se refieren...

      Eliminar
  2. Para cuando ya tienes lista ésta entrada.

    Saludos.

    ResponderEliminar
    Respuestas
    1. Déjame lo preparo porque lo estaba probando en una aplicación que comercializó.. Y hasta el momento no se han quejado los clientes con el funcionamiento

      Eliminar
    2. Hola Wilberth, mira como es un código que prácticamente utiliza 3 controles el MDI client, Firm y el Menustrip para crear un comportamiento completo quiero ver si lo logo integrar en un solo componente para minimizar la implementación porque del control MDI client solo sobreesceibo dos mensajes y del Menustrip para dibujar los botones del form cuando es maximizado y del formulario cuando es minimizado, vere si puedo controlar todo desde el MDI client o por fuerza implementar los 3 controles personalizados para tal proposito...
      Salu2

      Eliminar
    3. Gracias Marvin y perdón por no ser tan atento como lo fuiste, ahora que comence a eliminar los spam de mi correo vi tu respuesta.

      De igual forma saludos.

      Eliminar
  3. Buen dia Marvin, podes pasar tu correo para hacerte consulta, saludos

    ResponderEliminar
    Respuestas
    1. Hola Lorenzo,

      puedes hacer la consulta por aquí, o si sueles visitar los foros de MSDN (https://social.msdn.microsoft.com/forums/es-es/home) la puedes hacer también por allí para recibir ayuda de los demás participantes.

      Salu2,

      Eliminar

Publicar un comentario

Entradas populares de este blog

TextBox con Borde Personalizado

Bien, retomando nuevamente mi blog, luego de tanto tiempo ausente, veremos como personalizar el borde del control TextBox con un color diferente. hace poco vi en los foros de MSDN, en el foro de VB.Net esta pregunta, ¿ Cómo puedo cambiar el color del borde de un control TextBox ?, anteriormente también se hizo la misma pregunta en este mismo foro donde yo respondí como hacerlo VB2010 4.0 - Como crear un textbox personalizado . no hay manera fácil de personalizar un control, generalmente se tiene que sobre escribir el evento WndProc para escuchar los mensajes de window y reemplazar la funcionalidad de estos según sea la necesidad o el control. bien, para cambiar el color del borde del control TextBox sin mucha funcionalidad, se debe de escuchar y reemplazar el funcionamiento de los mensajes WM_PAINT y WM_NCPAINT . ¿ Porque WM_PAINT ?, porque cuando cambiamos la propiedad BorderStyle de este control a FixedSingle, quien pinta el borde es el mensaje WM_PAINT no asi el WM_NC

TextBox con Icon/Imagen

Bien, continuando con este articulo: TextBox con borde personalizado , ahora le dare la funcionalidad de poder mostrar un icono o imagen dentro del Control TextBox. Existen dos maneras de hacer esto: Pintar el icono/imagen dentro del control o Pintar el icono/imagen dentro del Non-Client Area del control. Pintar el icono/imagen dentro del control. Antes de escribir el código decidi googlear un poco, para ver si alguien más ya habia tenido la misma idea de usar el mensaje EM_SETMARGINS para dejar el espacio necesario para pintar el icono o imagen ya sea a la derecha o izquierda y me he encontrado con este articulo. Adding an Icon or Control to a TextBox or ComboBox . Pintar el icono/imagen de ntro del Non-Client Area del control. Us ando el Non- Client Area no encontre resultados googleando, así que es la forma que usar e para dib ujar un icono o imagen dentro de un control TextBox. En el control TextEditor que escrib í, utilizo esta manera para pintar el icono

Personalizar DataGridView (II) - Bloquear columnas de solo lectura

Personalizar DataGridView - Actualizaciones Personalizar DataGridView (II.1) - Bloquear columnas de solo lectura. Personalizar DataGridView (III) - Cambiar Diseñador. Bien, continuando con el articulo " Personalizar DataGridView (I) - Pintar área vacía ", ahora lo que haré es darle al control la funcionalidad de bloquear las columnas cuya propiedad " ReadOnly " se establezca en " true ", entiéndase por "Bloquear" el evitar que las columnas cuya propiedad " ReadOnly=true " puedan recibir el foco, ya sea por el teclado o por el ratón ( mouse ). Para tal objetivo agregare una nueva propiedad al control la cual llamare " AllowFocusReadOnlyColumns " cuyo valor predeterminado sera " true ", en caso de ser " false " las columnas marcadas como solo lectura no recibirán el foco. También le daré la funcionalidad de poder avanzar a la siguiente columna al presionar la tecla " ENTER " agregando otr