Usuário com melhor resposta
Tamanho da Tela

Pergunta
-
Respostas
-
Você não falou qual a versão do Framework Sílvio, mas a forma recomendada agora no Framework 2.0, de acordo com a documentação do SDK, é usar a propriedade CurrentAutoScaleDimensions do objeto Form. É algo mais ou menos assim:
SizeF currentScreen = this.CurrentAutoScaleDimensions; if (currentScreen.Height == 192) { // VGA!. }
A propriedade Height contem os DPI da resolução atual. 96 é QVGA e 192 é VGA.
Outra forma é usar a propriedade System.Windows.Forms.Screen.PrimaryScreen.WorkingArea. Porém se sua aplicaçao for hi-dpi aware ela só vai retornar 240x320 indicando que será feito o upscaling usando a duplicação de pixels.
E na API, claro, sempre podemos usar:
int width = Screen.PrimaryScreen.Bounds.Width;
int height = Screen.PrimaryScreen.Bounds.Height; -
Humm legal.
O que eu consegui até agora foi pegar o modelo do celular!
Tenho uma tabela com as marcas de celulares mais comuns aqui no Brasil associados com os modelos e dimensão dos display.
Estava usando isso para carregar uma imagem do tamanho certo no minibrowser do usuário!
Vou executar o código que passou.
[]s
Todas as Respostas
-
Você não falou qual a versão do Framework Sílvio, mas a forma recomendada agora no Framework 2.0, de acordo com a documentação do SDK, é usar a propriedade CurrentAutoScaleDimensions do objeto Form. É algo mais ou menos assim:
SizeF currentScreen = this.CurrentAutoScaleDimensions; if (currentScreen.Height == 192) { // VGA!. }
A propriedade Height contem os DPI da resolução atual. 96 é QVGA e 192 é VGA.
Outra forma é usar a propriedade System.Windows.Forms.Screen.PrimaryScreen.WorkingArea. Porém se sua aplicaçao for hi-dpi aware ela só vai retornar 240x320 indicando que será feito o upscaling usando a duplicação de pixels.
E na API, claro, sempre podemos usar:
int width = Screen.PrimaryScreen.Bounds.Width;
int height = Screen.PrimaryScreen.Bounds.Height; -
-
ahh...você não falou que era uma aplicação WAP...:p
Você quer colocar as imagens do tamanho certo ou algo do tipo não é? Olha, você pode tentar isso:
MobileCapabilities mc = (MobileCapabilities)Request.Browser;
mc.ScreenPixelHeight
mc.ScreenPixelWidthMas eu nunca vi isso funcionar de verdade..:)
A outra é ir direto nas informações do browser e ver o que tem lá. O código abaixo tem um exemplo disso:
foreach (string key in Request.Browser.Capabilities.Keys)
{
Response.Write("<br/>" + key + ": " + Request.Browser.Capabilities[key]);
}que é o que eu faço normalmente.
-
Humm legal.
O que eu consegui até agora foi pegar o modelo do celular!
Tenho uma tabela com as marcas de celulares mais comuns aqui no Brasil associados com os modelos e dimensão dos display.
Estava usando isso para carregar uma imagem do tamanho certo no minibrowser do usuário!
Vou executar o código que passou.
[]s