Ir para conteúdo
Fórum Script Brasil
  • 0

Redimensionamento De Form


alexandremanowar

Pergunta

E a e Pessoal

Eu estou fazendo alguns exercícios em vb.net com winforms, eu gostaria de saber como eu faço para que o meu formulário quando estiver maximizado, fique de acordo com a definição do vídeo. Por exemplo eu estou programando em 1024x768, e meus formulários estão defindos para ficarem maximizados automáticamente. Se eu deixar o meu monitor com 800x600 os meus formulários ficam destorcidos. Como faço para que eles acompanhem o redimensionamento do monitor, tanto os forms quanto os objetos que estão agregados ao form?

É possível fazer isso? Porque se eu fizer um projeto ele pode ser instalados em máquinas 1024x768 ou 800x600 ou outra qualquer?

Link para o comentário
Compartilhar em outros sites

19 respostass a esta questão

Posts Recomendados

  • 0

E a e Graymalkin beleza!

Cara quando eu clico em um form não aparece mas quando eu clico em um botão aparece sim, mas pelo que estou entendendo isso é apenas para o alinhamento do botão tipo esquerda, direita,etc e não para um controle de auto ajuste de um monitor(quando for mudado de 1024x168 para 800x600 ou outra) e mesmo assim como falei os forms não tem essa propriedade.

Já procurei em vários tutoriais, mas não acho nada que faça isso. É uma ação importante essa, imagine um form cheio de botões e opções feito para rodar em 1024x768 e derrepente o usuário quer usar o monitor em 800x600. Ele vai perder a informação do form porque não caber na tela, estou passando por uma situação dessa.

Cara vou procurar mais, se você poder me ajudar agradeço.

Link para o comentário
Compartilhar em outros sites

  • 0

Tente usar pois dessa forma até mesmo se o usuário alterar o tamanho da janela com o mouse os controle alteram o tamanho sozinho, tanto para menos quanto para maior, crieio que com 1200 ou 800 a configuração da tela deve ficar parecida, tente e veja se resolve seu problema.

Link para o comentário
Compartilhar em outros sites

  • 0

imagina assim...

você tem seu form de tamanho 500x500

se o usuario redimensionar ele para 300x300 com o mous,e os controles perderao o alinhamento, fikando fora do form, amis com as aconras, os controles sempre são alinhados/redimensionados de acordo com o form ^^

espero q tenha entendido...t+

Link para o comentário
Compartilhar em outros sites

  • 0

E a §uiciDa£ beleza!

Bom pessoal, eu até agora não entendi como fazer para funcionar esse esquema e opção Anchor, aparece apenas nas propriedades de botões ou labels, mas não aparece em forms, e eu preciso que todo o conteúdo se auto ajuste conforme a definição do monitor.

Alguém pode me explicar como fazer isso? E onde faço isso?

Valeu

Link para o comentário
Compartilhar em outros sites

  • 0

E ai, Alexandre, bem a propriedade Anchor dos controles quer dizer o mesmo que uma ancora, entendeu? Bem, ai vai um exemplo: Monte um Formulario com um botão e no evento Activated do Formulario coloque o seguinte codigo:

Button1.Anchor = AnchorStyles.Left
Voce vai reparar que quando voce aumenta ou diminui o formulario, o botão acompanha, mas não aumenta e nem sequer diminui de tamanho. Entendeu pra que serve o anchor? Pra fazer o que voce quer, que e aumentar ou diminuir o tamanho do formulario e dos controles de acordo com a resolução da tela, voce tem que primeiro pegar a resolução corrente do seu computador, e depois adaptar seu formulario de acordo com as configurações, concorda? então, para pegar a resolução, o codigo ficaria da seguinte maneira:
    Public w As Integer  'Declaração das Variaveis Publicas no Inicio do Form
    Public h As Integer
    Public tamanho As Integer

        Dim pa As SystemInformation
        h = pa.PrimaryMonitorMaximizedWindowSize.Width - 8
        MsgBox(h)
        w = pa.PrimaryMonitorMaximizedWindowSize.Height.ToString + 22
        MsgBox(w)

        tamanho = Button1.Size.Height
        MsgBox(tamanho)

A Partir dai e so adaptar os controles de acordo com a resolução, entendeu? biggrin.gif ! Qualquer coisa, tamos ai! Falows!

Link para o comentário
Compartilhar em outros sites

  • 0

Cara andei estudando aqui e consegui entender! Valeu a todos pela força

Quando eu defino os objetos como anchor = left, toda vez que meu form é redimensionado o objeto permace no tamanho original porém é movido da esquerda para a direita, porém se eu deixar o AnChor como = Top, Bottom, Left, Right. Ele nã move o objeto mas redimensiona o objeto conforme o formulário e é isso que eu quero, mas alguns objetos ele redimensionou tanto quando eu mudei de 1024x768 para 800x600 que o objeto sumiu da tela. Como eu faço para dar um limite para redimensionar os objetos? Por exemplo meu button tem o o seguinte tamanho 168; 48. Quando eu redimensionar os form para 800x600 ou qualquer outro tamanho ele diminua para no máximo 80; 24, se eu continuar diminuindo o form o obejeto para quando estiver com o tamanho mínino.

Desde de já agradeço a força

Link para o comentário
Compartilhar em outros sites

  • 0

não, não, voce não entendeu, essa propriedade não redimensiona o objeto, ela apenas movimenta o objeto de acordo com o que voce a esta ancorando (Top, Bottom, Left, Right). Anchor = Ancora. Voce concorda que se ela redimensionasse o objeto ele não iria para os lados, mas sim o seu tamaho seria modificado? Por isso passei esses codigos atras para voce, de uma reelida no ultimo tópico, se não conseguir entender poste aqui que eu tento tirar suas duvidas, beleza? biggrin.gif Falows!

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu cara fiz outros testes e agora eu entendi, ele joga os objetos conforme o direção que eu definir. Valeu pela paciência e ajuda.

Porém se eu poder incomodar mais um pouco, por exemplo eu fiz isso definindo o tamanho do meu form em 1024x768 ea definição do meu monitor também estava em 1024x768, configurei a Anchor para left, executei o programa e redimensionei a propriedade de vídeo para 800x600, ele moveu os objetos, porém teve objetos que não couberam na tela e outros ficaram apenas a metade. Isso porque não tem espaço para todos em 800x600. Mas o Form se redmensiona, será que não existe uma propriedade que faça com os objetos diminuam o tamanho conforme a tela?

Link para o comentário
Compartilhar em outros sites

  • 0

Cara entendi, vou fazer da seguinte forma.

Vou criar um código nos objetos que identifique a definição do vídeo se estiver em 1024x768 vou jogar o size de com uma definição se estiver em 800x600 vou jogar outra definição.

Legal vai funcionar, mas eu tenho uma dúvida!

Qual o código que eu jogo para saber a definição que está o meu vídeo?

desde cara agradeço pela paciência e a força que você esta me dando!

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, eu já fiz pra voce faz tempo, biggrin.gif , ta la em cima num dos meus primeiros posts. la voce reconhece a resolução da tela e adapta o seu formulario de acordo, é so dar uma relida no post, beleza? Falows!

Link para o comentário
Compartilhar em outros sites

  • 0

Cara se eu entendi o que você precisa, carregar o formulário de acordo com a resolução do pc, ou seja, carregar seu programa em qualquer resolução; se for isso escreva esse código no carregamento do Form:

Private Sub Principal_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.Width = My.Computer.Screen.WorkingArea.Width

Me.Height = My.Computer.Screen.WorkingArea.Height

End Sub

Isso faz com que o formulário detecte automaticamente a resolução da área de trabalho.

:rolleyes:

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...