none
Problema con el Icono del formulario RRS feed

  • Pregunta

  • Hola a todos. Trabajo en Visual studio 2013.

    Mi pregunta es la siguiente: En mi proyecto le he puesto un icono en el formulario principal que es un contenedor con una barra de tareas. Todos los formularios que se abren a través de las opciones que tenemos tienen las siguientes propiedades: se abren maximizados y la opción de ShowIcon=false para que no me aparezca el icono de visual pero al final me sale. 

    Como puedo quitar este icono. He buscado por todas las carpetas del proyecto pero no lo veo para poder eliminar el archivo.

    Gracias de antemano.

    • Editado charoeci1 miércoles, 11 de noviembre de 2015 15:19
    miércoles, 11 de noviembre de 2015 12:55

Todas las respuestas

  • Hola!

    Has tratado en tiempo de ejecución?

    Me.ShowIcon = False

    this.ShowIcon = false;

    miércoles, 11 de noviembre de 2015 16:00
  • Hola Emmanuel. Estas imagenes que he mandado las he cogido ya ejecutado el proyecto.

    He hecho la prueba siguiente: Si restauro el formulario Activos dentro del proyecto principal  no me aparece la imagen de visual en ese formulario, pero si maximizo el formulario me vuelve a salir la imagen al lado del menú.

    No se que puede pasar.

    Gracias de antemano.


    Saluditos, Charo


    • Editado charoeci1 miércoles, 11 de noviembre de 2015 17:52
    miércoles, 11 de noviembre de 2015 17:49
  • Cuando un formulario MDI hijo se maximiza su menú y su controlbox se colocan en el MenuStrip del formulario padre.

    Puedes usar un código como este:

    En el formulario contenedor:

    Public Class Form1
    
        Private m_originalMenuItemCount As Integer
        Public ReadOnly Property OriginalMenuItemCount() As Integer
            Get
                Return Me.m_originalMenuItemCount
            End Get
        End Property
    
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Me.m_originalMenuItemCount = Me.MenuStrip1.Items.Count
            MenuStrip1.SuspendLayout()
            Dim f As Form = New Form2
            f.MdiParent = Me
            f.WindowState = FormWindowState.Maximized
            f.Show()
            MenuStrip1.Visible = False
            MenuStrip1.Visible = True
            MenuStrip1.ResumeLayout()
        End Sub
    
    End Class

    Y en el formulario hijo:

    Public Class Form2
        
        Private Sub AdjustMenuItem()
            If (Me.WindowState = FormWindowState.Maximized) Then
                If (Me.MdiParent.MainMenuStrip IsNot Nothing) Then
                    If (Me.MdiParent.MainMenuStrip.Items.Count > CType(Me.MdiParent, Form1).OriginalMenuItemCount) Then
                        Me.MdiParent.MainMenuStrip.Items.RemoveAt(0)
                    End If
                End If
            End If
        End Sub
    
        Private WM_GETTEXT = &HD
        Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
            If (m.Msg = WM_GETTEXT) Then
                Me.AdjustMenuItem()
            End If
            MyBase.WndProc(m)
        End Sub
    End Class


    Saludos, Javier J

    jueves, 12 de noviembre de 2015 8:50