Jump to content
dianaemanuel

Alterar Tamanho da Fonte no windows

Recommended Posts

dianaemanuel

Boa tarde,

Tenho uma aplicação que foi desenvolvida no Visual Studio 2012 e que está a correr perfeitamente bem, o problema é quando eu mudo o tamanho do texto do windows para 125%, fica tudo desconfigurado.

Alguém pode me dar uma ajuda com este problema?

Os forms estão todos com a propriedade AutoScaleMode = Font.

Fico a aguardar resposta.

Obrigado.

Cumprimentos

dianaemanuel

Share this post


Link to post
Share on other sites
vikcch

O tamanho do texto como assim? A resolução?

deve tar a falar disto:

http://windows.microsoft.com/pt-pt/windows/make-screen-text-larger-smaller#make-screen-text-larger-smaller=windows-vista

sei que em vb6 dá problemas porque a medida é em twips em 120 PPP, 1 pixel são 12 twips, enquanto em 96 PPP 1 pixel são 15 twips...

em vb.net as medidas são já em pixels não sei qual possa ser o problema...

Share this post


Link to post
Share on other sites
dianaemanuel

Bom dia,

O problema quando eu mudo o tamanho do texto para 125% é que o form aparece-me com barras de scroll, os controlos ficam fora do sitio e muito maiores.

Existe maneira de contornar este problema?

Edited by dianaemanuel

Share this post


Link to post
Share on other sites
dianaemanuel

se o problema era esse que eu estava a falar, vê estes dois topicos que abordam o assunto em .net:

http://stackoverflow.com/questions/6082733/how-do-i-detect-if-the-users-font-dpi-is-set-to-small-large-or-something-el

http://stackoverflow.com/questions/185804/how-to-control-the-font-dpi-in-net-winforms-app

se conseguires resolver o problema posta aqui o que fizeste sff

Boas tardes,

Já tentei colocar o AutoScaleMode=Dpi e o AutoSize=True mas nada, não funciona.

Já tinha andado a ver estes links mas não deu resultado.

Já não sei o que hei de fazer mais para que o meu programa fique ajustado para todas as resoluções.

Share this post


Link to post
Share on other sites
dianaemanuel

Já tentas-te

Me.Size = New System.Drawing.Size(screenWidth, screenHeight)

Sim já tentei mas nada.

Neste programa tenho dois forms, um deles é o form MDI.

No form MDI tenho o seguinte código no form load

Me.ControlBox=False
Me.WindowState = FormWindowState.Maximized
Dim sc As Screen = Screen.FromControl(Me)
Dim s As New Size(sc.WorkingArea.Width + 15, sc.WorkingArea.Height + 15)
Me.MaximumSize = s
Me.ShowInTaskbar = True

Dim form2 As New Form2
form2.MdiParent = Me
form2.Dock = DockStyle.Fill
form2.Show()

No form2 que está dentro do MDI tenho o seguinte código:

Me.ControlBox = False
Me.FormBorderStyle = Windows.Forms.FormBorderStyle.None

Share this post


Link to post
Share on other sites
He B TeMy

Mas o problema é que diminuindo a resolução os controlos ficam "fora" do sítio? Se puderes postar um print agradecia.

Dim screenWidth As Integer = Screen.PrimaryScreen.Bounds.Width
Dim screenHeight As Integer = Screen.PrimaryScreen.Bounds.Height

Esquecime disto no código que postei acima.

Share this post


Link to post
Share on other sites
dianaemanuel

Mas o problema é que diminuindo a resolução os controlos ficam "fora" do sítio? Se puderes postar um print agradecia.

Dim screenWidth As Integer = Screen.PrimaryScreen.Bounds.Width
Dim screenHeight As Integer = Screen.PrimaryScreen.Bounds.Height

Esquecime disto no código que postei acima.

Aqui vai dois prints:

Este é com a resolução a 100% - http://prntscr.com/28whxt

Este é com a resolução a 125% - http://prntscr.com/28wi9v

Share this post


Link to post
Share on other sites
dianaemanuel

Já encontrei o meu problema.

O problema era que em todos os controlos que tinha no form tinha definido o tipo de letra "Segoe UI", mas para os forms tinha "Microsoft Sans Serif", ao colocar o tipo de letra do form igual ao dos controlos ficou resolvido.

Share this post


Link to post
Share on other sites
He B TeMy

Pois, a solução talvez não tenha sido por ter os 2 iguais, só testando eu não sei, mas provávelmente a fonte que estava a causar "conflito" não era muito bem suportada e/ou tinha outras caracteristicas.

Share this post


Link to post
Share on other sites
dianaemanuel

Pois, a solução talvez não tenha sido por ter os 2 iguais, só testando eu não sei, mas provávelmente a fonte que estava a causar "conflito" não era muito bem suportada e/ou tinha outras características.

Bons dias,

A solução passa por colocar todos os controlos e forms com o mesmo tipo de letra, colocar o AutoScaleMode=Dpi, AutoSize=True e AutoSizeMode=GrowAndShrink.

Obrigado na mesma pela ajuda.

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.