UMA CLASSE PARA DOIS FORMS

MARCELOKROL 10/08/2016 09:06:48
#465690
bom dia

Tenho dois forms, teoricamente iguais, com algumas diferenças no layout, um para monitor quadrado e outro para wide. Sei que tem como adaptar os controles para que mudem automaticamente conforme a necessidade, so que isso foi o pedido de um cliente em potencial que praticamente me exigiu os dois forms, onde a posição dos controles de cada form para cada monitor é diferente, mais permanece os mesmos nomes, apenas a posição dos mesmo é alterada.

Então a duvida: Tem como criar uma classe e a partir dela gerenciar os dois forms, sem ter que ficar repetindo os mesmos códigos em cada um?

Eu acredito que tenha, so que estou um pouco perdido nesse sentido e estou precisando de um norteamento pra como seguir!

Obrigado
ACCIOLLY 10/08/2016 09:19:49
#465691
Acho que não havia necessidade de se ter dois forms. Quanto a ideia de se fazer uma classe é muito boa, pois através dela você pode redimensionar e posicionar os controles conforme o monitor. Nunca me importei em desenvolvimento responsivo pra desktop, apenas para web. Mas valeria a pena tentar criar uma framework para desktop no .net
MARCELOKROL 10/08/2016 09:24:44
#465692
Obrigado pela resposta ACCIOLLY

Sim, eu relutei um monte aqui para a criação do segundo form, so que quando ví que não estava dando produtividade e precisava entregar o sistema pro cliente, então fiz essa POG, copiando e colando o form original adaptando os controles como o cliente pediu e colocando em produção, so que ja vejo que isso no futuro será trabalhoso ficar dando manutenção em dois forms, sendo que os códigos em cada um vai ser igual.

Por isso pensei em uma classe pra controlar os dois.
JABA 10/08/2016 11:14:10
#465695
Já que só muda a posição dos controles, por que não usa apenas um form e faça as mudanças dinamicamente?
MARCELOKROL 10/08/2016 12:52:19
#465696
Citação:

:
Já que só muda a posição dos controles, por que não usa apenas um form e faça as mudanças dinamicamente?



Na verdade eu ate fiz isso, so que em alguns clientes com windows xp (sim windows XP mesmo, cliente não quer atualizar), tive problemas a tela ficava toda desconfigurada, sendo que em outras maquinas isso não acontece, por isso que optei momentaneamente com dois forms
JABA 10/08/2016 13:28:37
#465697
Chegou a conferir se o framework instalado estava na mesma versão?
MARCELOKROL 10/08/2016 13:33:03
#465698
Citação:

:
Chegou a conferir se o framework instalado estava na mesma versão?



sim, tudo igual!
KERPLUNK 11/08/2016 20:23:53
#465754
O que eu faria já que se trata de um form com layout mutável, e o que vou dizer se aplica APENAS quando as mudanças são APENAS no layout, eu faria assim:
Arrumaria o layout do form conforme o que o cliente quer, todas as propriedades de todos os controles. Serializaria todas essas propriedades e faria a leitura do XML quando o cliente fosse o que usa esse layout. Aliás, isso se aplica a todo e qualquer form, você ajeita os controles todos conforme o que o cliente quer, gera o XML com as propriedades de todos os controles e as lê quando o form é aberto. Isso até mesmo cria a possibilidade do próprio cliente alterar o posicionamento e tamanho do form e dos controles. Ao serializar, as propriedades que você não quer liberar pro cliente, são excluídas da classe e o mesmo na leitura, ler apenas as propriedades de estética de cada controle. Costumava fazer isso com os meus sistemas Desktop, agora como não faço mais desktop(já a quase uma década), não preciso mais disso, uso componentes web ainda mais versáteis.
MARCELOKROL 12/08/2016 22:00:26
#465789
Citação:

:
O que eu faria já que se trata de um form com layout mutável, e o que vou dizer se aplica APENAS quando as mudanças são APENAS no layout, eu faria assim:
Arrumaria o layout do form conforme o que o cliente quer, todas as propriedades de todos os controles. Serializaria todas essas propriedades e faria a leitura do XML quando o cliente fosse o que usa esse layout. Aliás, isso se aplica a todo e qualquer form, você ajeita os controles todos conforme o que o cliente quer, gera o XML com as propriedades de todos os controles e as lê quando o form é aberto. Isso até mesmo cria a possibilidade do próprio cliente alterar o posicionamento e tamanho do form e dos controles. Ao serializar, as propriedades que você não quer liberar pro cliente, são excluídas da classe e o mesmo na leitura, ler apenas as propriedades de estética de cada controle. Costumava fazer isso com os meus sistemas Desktop, agora como não faço mais desktop(já a quase uma década), não preciso mais disso, uso componentes web ainda mais versáteis.



Entendi... mais agora surgiu outra dúvida: então é melhor salvar o layout do form em um arquivo a parte, carregar esse layout a cada execução do programa, do que ter uma classe para controlar dois forms com layouts diferentes?
KERPLUNK 13/08/2016 01:05:36
#465793
Resposta escolhida
Citação:

Entendi... mais agora surgiu outra dúvida: então é melhor salvar o layout do form em um arquivo a parte, carregar esse layout a cada execução do programa, do que ter uma classe para controlar dois forms com layouts diferentes?


Veja bem: O form em si já é uma classe. Você simplesmente manipular posicionamento de controles é muito mais simples do que ter que dar manutenção em dois forms diferentes, mesmo que a classe CRUD deles seja a mesma. é o caminho de menor resistência e, na minha visão, o mais óbvio. A mudança de layout é muito mais simples de administrar do que dois forms separados. O cliente, sequer vai notar essa diferença e você ainda cria precedente para fazer o mesmo em outros forms.
ACCIOLLY 13/08/2016 09:19:54
#465796
Ainda assim não entendo porque seu cliente sismou com isso. Geralmente eles querem algo funcional. Nem se importam com a aparencia. O que a posição dos controles mudaria na produtividade e na vida desse ser? Kkkkkk.
www.portugal-a-programar.pt/topic/62248-ajustar-form-a-tela/
Página 1 de 2 [11 registro(s)]
Tópico encerrado , respostas não são mais permitidas