Jump to content
RobinHood

Minimizar janelas

Recommended Posts

RobinHood

Boas pessoal... tenho aqui uma duvida... já andei a googlar mas não encontrei respostas... 😡

é o seguinte: quanto eu minimizo as janelas no programa que já construí elas ficam ao canto inferior esquerdo... e eu queria saber de dá para por-las para dentro de uma ToolStrip  🤔

do género de quando eu miniza-se uma janela ela fica-se assim como no windows

barrapx.png

Dá para fazer???? 🤔

Share this post


Link to post
Share on other sites
bioshock

Acho que não precisas de nada disso.

Vais às propriedades do Form e metes

ShowInTaskBar = True

Share this post


Link to post
Share on other sites
RobinHood

boas... não sei se me explique bem.... :wallbash:

é do género assim:

duvidaww.png

mas quando eu minimizo elas ficam assim... e eu queria criar uma barra semelhante á do windows... utilizando o ToolStrip ou algo do género? 🤔

Share this post


Link to post
Share on other sites
Caça

Vais ter de trabalhar com o envento Resize dos forms, basicamente, sempre que esse evento é disparado só tens de verificar qual é o seu estado (Minimizada, maximizada, etc.).

Se for minimizado,  crias um novo botão no ToolStrip por código onde colocas a form na propriedade Tag e colocas a form como invisível.

Se for maximizado ou normal, convertes a propriedade Tag do menu para form e colocas-la como maximizada/normal e como visível.

Percebeste?


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
RobinHood

Mais ou menos...

Mas como é que eu verifico se o form está (Minimizada, maximizada, etc.) 🤔

Share this post


Link to post
Share on other sites
bioshock

Mas como é que eu verifico se o form está (Minimizada, maximizada, etc.) 🤔

Não deves pensar assim.

Sempre que minimizas a janela em que estás a trabalhar chamas o Sub() para atirá-la para a Toolstrip.

Portanto, tens de detectar quando o utilizador clica no botão minimizar.

Share this post


Link to post
Share on other sites
RobinHood

Então no Load do botão que está no form meto assim ??

Private Sub FormAjudaSobrePrograma_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.MinimumSizeChanged

        FaxQueQuero()

    End Sub

Ou o que é que tenho que por em

Handles MyBase.MinimumSizeChanged

🤔

Share this post


Link to post
Share on other sites
bioshock

Não tens de por no evento Load().

Agora não posso ver, mas tens de procurar por um evento que detecte a alteração do estado da janela.

Share this post


Link to post
Share on other sites
RobinHood

Sim ok vou procurar...

olha como é que eu obtenho o titulo do from que minimizei 🤔

consegui o nome de todos os form's abertos atravez de

    Sub FaxQueQuero()

        Dim formA As Form

        Try

            For Each formA In My.Application.OpenForms
                MsgBox(formA.Name)
            Next

        Catch ex As Exception

        End Try
    End Sub

Mas isto diz os nomes dos forms, como tenho no projecto...

Share this post


Link to post
Share on other sites
bioshock

Não é assim que deves proceder.

Tens de apanhar o evento de cada form, sempre que minimizas cada form.

Share this post


Link to post
Share on other sites
Caça

(...) mas tens de procurar por um evento que detecte a alteração do estado da janela.

Vais ter de trabalhar com o envento Resize dos forms


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
RobinHood

Sim já tenho uma maneira de saber como está a form do tipo

  Sub Saber()

        If Me.WindowState = 1 Then
            Dim MINI As Integer = 1
            'MsgBox("Janela minimizada")
        End If


        If Me.WindowState = 2 Then
            Dim MAXI As Integer = 2
            'MsgBox("Janela maximizada")
        End If

        If Me.WindowState = 0 Then
            Dim REST As Integer = 0
            'MsgBox("Janela restaurada")
        End If


    End Sub

Agora como é que eu crio um botão na Toolstrip via código?

Share this post


Link to post
Share on other sites
Caça

Mais ou menos isto

    Public Sub CriarBotao(ByVal Formulario As Form)
        Dim Btn As New ToolStripButton
        Btn.Text = Formulario.Text
        Btn.Tag = Formulario
        ToolStrip1.Items.Add(Btn)
    End Sub

    Public Sub ApagarBotao(ByVal Formulario As Form)
        For Each Btn As ToolStripButton In ToolStrip1.Items
            If CType(Btn.Tag, Form).Name = Formulario.Name Then
                ToolStrip1.Items.Remove(Btn)
                Exit Sub
            End If
        Next
    End Sub


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.