elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Icono Formulario hijo de MDI al maximizarlo se agranda en menustrip.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Icono Formulario hijo de MDI al maximizarlo se agranda en menustrip.  (Leído 3,670 veces)
elturle

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Icono Formulario hijo de MDI al maximizarlo se agranda en menustrip.
« en: 12 Diciembre 2014, 23:44 pm »

Tengo creado una aplición mdi y en los formularios hijos tengo puestos unos iconos, pero cuando maximizo el formulario me aparece muy grande y al inicio del menustrip.

Quisiera que cuando se maximice el formulario o bien se quede el icono como en el formulario normal o bien no aparezca.

Un Saludo.


En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.788



Ver Perfil
Re: Icono Formulario hijo de MDI al maximizarlo se agranda en menustrip.
« Respuesta #1 en: 13 Diciembre 2014, 02:00 am »

Estás describiendo el comportamiento normal e implícito de un container MDI, alterar dicho comportamiento de forma natural y sencilla no es posible, un MDI padre necesita dibujar el icono del form hijo al maximizarlo (siempre que tenga una Titlebar), forma parte de su implementación.

Pero puedes subscribirte al evento ItemAdded del MenuStrip para excluir elementos de cierto tipo, como por ejemplo el menu-icono del Form maximizado, que es un item de tipo SystemMenuItem:

Código
  1. Private Sub MenuStrip1_ItemAdded(ByVal sender As Object, ByVal e As ToolStripItemEventArgs) _
  2. Handles MenuStrip1.ItemAdded
  3.  
  4.    e.Item.Visible = e.Item.GetType.Name.Equals("SystemMenuItem")
  5.  
  6. End Sub

Otra solución (bastante cutre) sería que te suscribas al evento Resize del MDI hijo para asignarle un icono de 1x1 totalmente transparente, y le devuelvas el icono normal al redimensioanrr el form. para esto primero tienes que diseñar el icono, claro está.

Código
  1.    Private Sub Form2_Resize(ByVal sender As Object, ByVal e As EventArgs) _
  2.    Handles MyBase.Resize
  3.  
  4.        Select Case Me.WindowState
  5.  
  6.            Case FormWindowState.Maximized
  7.                Me.Icon = My.Resources.TransparentIcon
  8.  
  9.            Case Else
  10.                Me.Icon = My.Resources.DefaultIcon
  11.  
  12.        End Select
  13.  
  14.    End Sub

Sobre lo del icono agrandado, hay ciertos bugs descubiertos en alguna versión de .Net Framework respecto al comportamiento del icono de un MDI hijo maximizado, así que no te extrañes si te parece raro, seguramente sea un bug, nunca escuché que el icono se agrandase, pero si otras cosas similares. con forzar una actualización del menu debería ser suficiente para solucionar el (supuesto) bug.

Código
  1. MenuStrip1.SuspendLayout()
  2.  
  3. Dim mdiChild As New Form2()
  4. mdiChild.WindowState = FormWindowState.Maximized
  5. mdiChild.Show()
  6.  
  7. MenuStrip1.Visible = Not MenuStrip1.Visible
  8. MenuStrip1.Visible = Not MenuStrip1.Visible
  9. MenuStrip1.ResumeLayout()

Saludos


« Última modificación: 13 Diciembre 2014, 02:25 am por Eleкtro » En línea

elturle

Desconectado Desconectado

Mensajes: 6


Ver Perfil
Re: Icono Formulario hijo de MDI al maximizarlo se agranda en menustrip.
« Respuesta #2 en: 14 Diciembre 2014, 19:27 pm »

Muchas Gracias. Solucionado.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Icono de volumen en el formulario
Programación Visual Basic
renga73 2 1,670 Último mensaje 24 Abril 2006, 16:29 pm
por _Sergi_
Posicion de formulario hijo MDI
Programación Visual Basic
rob1104 5 11,964 Último mensaje 21 Marzo 2009, 16:22 pm
por rob1104
Problema creando un MenuStrip en tiempo de ejecucion
.NET (C#, VB.NET, ASP)
llAudioslavell 1 2,880 Último mensaje 29 Enero 2012, 11:49 am
por llAudioslavell
MenuStrip en c#.
.NET (C#, VB.NET, ASP)
zapala76 0 2,418 Último mensaje 28 Febrero 2012, 20:13 pm
por zapala76
formulario / subir archivo / icono imagen html/php/javascript
Desarrollo Web
Neibar 5 7,384 Último mensaje 4 Mayo 2012, 22:08 pm
por Neibar
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines