Carolina Marinho Postado Fevereiro 10, 2009 Denunciar Share Postado Fevereiro 10, 2009 Oi! Alguém pode me dizer como fazer com que o form esteja sempre no tamanho maximo e centralizado na tela, levando em consideração as diferentes resoluções de tela? :mellow: Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 10, 2009 Denunciar Share Postado Fevereiro 10, 2009 pra centralizar um form de qualquer tamanho eu uso esse codigo:Form1.Move (Screen.Width - Form1.Width) / 2, (Screen.Height - Form1.Height) / 2 - 600 agora o form do tamanho da tela acho q você pode fazer assim ó: Form1.Height = Screen.HeightForm1.Width = Screen.WidthForm1.Move 0, 0[/code] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carolina Marinho Postado Fevereiro 13, 2009 Autor Denunciar Share Postado Fevereiro 13, 2009 kuroi, a parte da resolução da tela funcionou perfeitamente, mas os botões e textboxes e outros continuam no mesmo lugar. Tem como centralizá-los de acordo com a largura do frame ou form? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 13, 2009 Denunciar Share Postado Fevereiro 13, 2009 tem, você faz um foreach e pega todos os controles (um por um) e acerta o top e o left dele.so q ai você teria q saber totalmente o tamanho q é ocupado pelos controles tanto verticalmente quanto horizontalmente.tipo, qual seria o tamanho do form na horizontal?? tipo do comeco do textbox mais a esquerda ate o final do q ta mais a direita??você pega esse valor, subtrai do tamnho da tela e soma no left de cada controle.acho q você poderia pegar o tamanho do form antes de redimensionar. tipo, no design, acerte o tamanho certinho do form de forma q não fiquem espacos vazios nas bordas.e ai você faria um codigo tipo assim:Dim m As ControlFor Each m In Form1.Controls m.Left = (Screen.Width - Form1.Width) / 2 m.Top = (Screen.Height - Form1.Height) / 2Next[/code]tenta ai, qualquer coisa poste. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Carolina Marinho Postado Fevereiro 13, 2009 Autor Denunciar Share Postado Fevereiro 13, 2009 Kuroi, como os usuários desse sistema usam monitores de 15", eu fui testando e ficou assim:Private Sub Form_Load() frmCadastro.Height = Screen.Height frmCadastro.Width = Screen.Width frmCadastro.Move 0, 0 frmGerenciamento.Height = Screen.Height frmGerenciamento.Width = Screen.Width frmGerenciamento.Move 0, 0 frmPrincipal.Height = Screen.Height frmPrincipal.Width = Screen.Width frmPrincipal.Move 0, 0 Picture2.Width = Screen.Width - 270 Picture1.Width = Screen.Width - 170 Picture1.Height = Screen.Height - 170 cmd_sair.Left = cmd_sair.Left - 300 frmGerenciamento.Picture1.Height = Screen.Height - 200 frmGerenciamento.Picture1.Width = Screen.Width - 200 frmCadastro.frm_dados_agente.Width = Screen.Width - 425 frmCadastro.frm_banco.Width = Screen.Width - 425 frmCadastro.frm_observacao.Width = Screen.Width - 425 frmCadastro.txt_observacao.Width = frmCadastro.frm_observacao.Width - 600 End SubTá funcionando, e centralizado (quase perfeito), mas vou tentar o que você falou.Muito obrigada! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Fevereiro 14, 2009 Denunciar Share Postado Fevereiro 14, 2009 bom, na verdade eu passei o codigo errado, na verdade seria tipo isso q eu tava imaginando:Dim m As ControlFor Each m In Form1.Controls m.Left = m.Left + ((Screen.Width - Form1.Width) / 2) m.Top = m.Top + ((Screen.Height - Form1.Height) / 2)Next[/code]aquela conta você tem q somar no proprio left do objeto e não simplesmente atribuir. não testei mas acho q deveria funcionar isso ai. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Carolina Marinho
Oi! Alguém pode me dizer como fazer com que o form esteja sempre no tamanho maximo e centralizado na tela, levando em consideração as diferentes resoluções de tela? :mellow:
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.