Inquiridor
Redimensionar e reorientar o form e os componentes.

Pergunta
-
Pessoal, tenho uma aplicação que precisa rodar tanto na tela vertical quanto na tela horizontal (quando o usuário do pocket pressiona o rotate da tela). Gostaria de saber se há alguma solução para desenvolver isso. Porque do contrário eu teria que verificar constantemente em qual orientação está a tela e realinhar e reorientar todos os meus componentes da tela (picturebox, buttons, labels, textbox etc etc etc) para adequa-los à nova orientação. Utilizo o VS2005. Obrigado.
Todas as Respostas
-
-
Pessoal, consegui encontrar uma solução não muito "elegante". Mais para quem um dia tiver a mesma dúvida segue o link: http://www.devx.com/wireless/Article/21590/1954?pf=true
Só achei estranho ele aproveitar todo o InitiatizeComponent() do form auxiliar... pois a cada resize da tela ele instancia novamente todos os componentes.
Alguma outra dica será bem vinda... porquê me "falaram" que "acham" que o VS2005 tem como gerenciar isso melhor.
Obrigado. -
-
André,
Vc pode monitorar o evento de mudança de tela atraves de "SystemState".
Com relação ao compomentes eu geralmente utilize a propriedade Anchor = "Top, Left, Right"
Ex.
Code Snippet..
..
using Microsoft.WindowsMobile.Status;
namespace DeviceApplication1
{
public partial class Form1 : Form
{
private SystemState Tela = new SystemState(SystemProperty.DisplayRotation, true);
public Form1()
{
InitializeComponent();
this.Tela.ComparisonType = StatusComparisonType.AnyChange;
this.Tela.Changed += new ChangeEventHandler(Tela_Changed);
}
void Tela_Changed(object sender, ChangeEventArgs args)
{
label3.Text = "Tela = " + args.NewValue;
}
}
} -
Dá uma lida neste artigo:
Developing Orientation and dpi Aware Applications for the .NET Compact Framework
link http://msdn2.microsoft.com/en-us/library/ms838174.aspx
José Roberto Siqueira
RMGR Soluções e Serviços em Mobile
+55 11 7612-1268 Claro // +55 11 8491-4386