none
Como faço pra deixar as coisa do form centralizado certinho quando estiver maximizado? (Com controlbox ativada e formborderstyle em none) RRS feed

  • Pergunta

  • veja algumas imagens após isso leia mais em baixo, por favor!


    Public Class Form1

        Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Resize
            If Me.WindowState = FormWindowState.Maximized Then
                ControlBox = True
                FormBorderStyle = FormBorderStyle.None
            Else
                ControlBox = False
                Me.WindowState = FormWindowState.Normal
                FormBorderStyle = FormBorderStyle.Sizable
            End If
        End Sub

        Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click
            Me.WindowState = FormWindowState.Maximized
        End Sub

        Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
            Me.WindowState = FormWindowState.Normal
        End Sub
    End Class

    >

    >

    esse é o código do form, como pd ver quando ele é normalizado ele fica com controlbox = false e a borda em sizible, e quando ele é maximizado controlbox = true e borda em none

    > o que eu quero?

    Eu queria que o form maximizasse e ainda tendo as bordas, ou pelo menos não ficar igual na ultima print, todos os itens do form subiram a mais do limite... 

    > Você poderia colocar os itens mais no meio.

    Mais acontece q no form original do programa mesmo, tem tabcontrol, e a tabcontrol não fica legal se não estiver tomado a tela inteira do form

    > Soluções?

    Se houver algum tipo de código que dê bordas pequenas mais q dê para ficar tudo certinho quando maximizado, tanto em monitor 4:3 quando em monitor 16:9 (TODOS OS MONITORES)

    q fique certinho.

    Ou, ignorar o código que está la em cima, e iniciar um outro q maximize com borda, e sem a parte de cima, do nome/fechar/minimizar!

    >

    Poderia-me ajudar com o código???! 

    Por favor estou bastante tempo pesquisando, e nd resolveu! obrigado pela atenção tenha um bom dia!

    terça-feira, 20 de março de 2018 21:09

Respostas

  • Kelvyn Serrão,

       Acho que a propriedade "Control.Anchor" vai te ajudar a fazer o que você quer:

    ==================================
    Propriedade Control.Anchor
    https://msdn.microsoft.com/pt-br/library/system.windows.forms.control.anchor(v=vs.110).aspx

    ==================================

       Você pode configurar direto dentro do menu de propriedades do objeto ou fazer via código de programação.

       Como fazer via Menu de Propriedades:

    ==================================
    Visual Basic .NET Tutorial | Anchoring Controls
    O'Reilly - Video Training
    Publicado em 19 de jun de 2015

    https://youtu.be/xIDZTrYTu-0
    ==================================

       Exemplo de código (um pouco mais complicado):

    ' Add a button to a form and set some of its common properties.
    Private Sub AddMyButton()
       ' Create a button and add it to the form.
       Dim button1 As New Button()
    
       ' Anchor the button to the bottom right corner of the form
       button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
    
       ' Assign a background image.
       button1.BackgroundImage = imageList1.Images(0)
    
       ' Specify the layout style of the background image. Tile is the default.
       button1.BackgroundImageLayout = ImageLayout.Center
    
       ' Make the button the same size as the image.
       button1.Size = button1.BackgroundImage.Size
    
       ' Set the button's TabIndex and TabStop properties.
       button1.TabIndex = 1
       button1.TabStop = True
    
       ' Add a delegate to handle the Click event.
       AddHandler button1.Click, AddressOf Me.button1_Click
    
       ' Add the button to the form.
       Me.Controls.Add(button1)
    End Sub

       Veja também:

    ==================================

    VB.NET - Apresentando Windows Forms
    ...
    A Propriedade Anchor
    ...
    http://www.macoratti.net/vbnet_4.htm

    ==================================

       Espero que seja isso...

    []'s,
    Fabio I.
    • Editado Fabio I quarta-feira, 21 de março de 2018 00:17
    • Marcado como Resposta Kelvyn Serrão quarta-feira, 21 de março de 2018 18:09
    quarta-feira, 21 de março de 2018 00:14

Todas as Respostas

  • Kelvyn Serrão,

       Acho que a propriedade "Control.Anchor" vai te ajudar a fazer o que você quer:

    ==================================
    Propriedade Control.Anchor
    https://msdn.microsoft.com/pt-br/library/system.windows.forms.control.anchor(v=vs.110).aspx

    ==================================

       Você pode configurar direto dentro do menu de propriedades do objeto ou fazer via código de programação.

       Como fazer via Menu de Propriedades:

    ==================================
    Visual Basic .NET Tutorial | Anchoring Controls
    O'Reilly - Video Training
    Publicado em 19 de jun de 2015

    https://youtu.be/xIDZTrYTu-0
    ==================================

       Exemplo de código (um pouco mais complicado):

    ' Add a button to a form and set some of its common properties.
    Private Sub AddMyButton()
       ' Create a button and add it to the form.
       Dim button1 As New Button()
    
       ' Anchor the button to the bottom right corner of the form
       button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
    
       ' Assign a background image.
       button1.BackgroundImage = imageList1.Images(0)
    
       ' Specify the layout style of the background image. Tile is the default.
       button1.BackgroundImageLayout = ImageLayout.Center
    
       ' Make the button the same size as the image.
       button1.Size = button1.BackgroundImage.Size
    
       ' Set the button's TabIndex and TabStop properties.
       button1.TabIndex = 1
       button1.TabStop = True
    
       ' Add a delegate to handle the Click event.
       AddHandler button1.Click, AddressOf Me.button1_Click
    
       ' Add the button to the form.
       Me.Controls.Add(button1)
    End Sub

       Veja também:

    ==================================

    VB.NET - Apresentando Windows Forms
    ...
    A Propriedade Anchor
    ...
    http://www.macoratti.net/vbnet_4.htm

    ==================================

       Espero que seja isso...

    []'s,
    Fabio I.
    • Editado Fabio I quarta-feira, 21 de março de 2018 00:17
    • Marcado como Resposta Kelvyn Serrão quarta-feira, 21 de março de 2018 18:09
    quarta-feira, 21 de março de 2018 00:14
  • Kelvyn Serrão,

       Acho que a propriedade "Control.Anchor" vai te ajudar a fazer o que você quer:

    ==================================
    Propriedade Control.Anchor
    https://msdn.microsoft.com/pt-br/library/system.windows.forms.control.anchor(v=vs.110).aspx

    ==================================

       Você pode configurar direto dentro do menu de propriedades do objeto ou fazer via código de programação.

       Como fazer via Menu de Propriedades:

    ==================================
    Visual Basic .NET Tutorial | Anchoring Controls
    O'Reilly - Video Training
    Publicado em 19 de jun de 2015

    https://youtu.be/xIDZTrYTu-0
    ==================================

       Exemplo de código (um pouco mais complicado):

    ' Add a button to a form and set some of its common properties.
    Private Sub AddMyButton()
       ' Create a button and add it to the form.
       Dim button1 As New Button()
    
       ' Anchor the button to the bottom right corner of the form
       button1.Anchor = AnchorStyles.Bottom Or AnchorStyles.Right
    
       ' Assign a background image.
       button1.BackgroundImage = imageList1.Images(0)
    
       ' Specify the layout style of the background image. Tile is the default.
       button1.BackgroundImageLayout = ImageLayout.Center
    
       ' Make the button the same size as the image.
       button1.Size = button1.BackgroundImage.Size
    
       ' Set the button's TabIndex and TabStop properties.
       button1.TabIndex = 1
       button1.TabStop = True
    
       ' Add a delegate to handle the Click event.
       AddHandler button1.Click, AddressOf Me.button1_Click
    
       ' Add the button to the form.
       Me.Controls.Add(button1)
    End Sub

       Veja também:

    ==================================

    VB.NET - Apresentando Windows Forms
    ...
    A Propriedade Anchor
    ...
    http://www.macoratti.net/vbnet_4.htm

    ==================================

       Espero que seja isso...

    []'s,
    Fabio I.

    Não fiz exatamente o que você explicou, mais vendo este código surgiu-me uma ideia de colocar pra quando maximizar ele alterar de location

    então obrigado,

    também queria saber se você sabe como faz pra colocar corner radius no tabcontrol, e deixar as pontinha do tabcontrol caídas, se souber pode ajudar?

    quarta-feira, 21 de março de 2018 18:09
  • Kelvyn Serrão,

       Melhor abrir outra pergunta...

    []'s,
    Fabio I.

    quarta-feira, 21 de março de 2018 19:42