none
Estética Visual no Windows Form (CSS?) RRS feed

  • Pergunta

  • Me tirem uma dúvida.
    Desenvolvo para asp.net/c# há dois anos e me acostumei bastante com modelagem de páginas por css, criar visuais bacanas no photoshop para os aplicativos e tudo mais.

    Agora, me passaram um projeto Windows Form...  e como se sabe.. é tudo.. visual..   padrãozão do windows (eee framework)...

    Enfim...  gostaria de saber se existe um meio de padronizar estilos de formatação para windows forms...
    por exemplo... 

    em asp.net, se quero que todos ou determinados TextBox tenha borda azul, fundo amarelo, basta fazê-lo no css e depois aplicar ao componente.
    Existe algo parecido para WindowsForms?

    Ou tenho que ficar formatando componente um a um de forma manual?
    Ph
    quinta-feira, 7 de janeiro de 2010 18:48

Respostas

  • Então Rapahel, a melhor opção mesmo para interfaces ricas é o WPF/Silverlight, mas eu fiz um exemplo do que você pode fazer em Windows form para formatar os controles conforme layouts, um exemplo bem simples mas da pra ter uma idéia de que não vai ser muito divertido.

     

    Então eu herdei a classe TextBox, criei uma propriedade Tamplate que você consegue selecionar em um combobox nas propriedades do textbox na tela onde você inseri-lo. Quando alterado o template aplico as formatações, segue código.

     

    public partial class TextBoxTemplate : TextBox

    {

        public enum TextBoxTemplates

        {

            Pradao = 1,

            Obrigatorio = 2

        }

     

        private TextBoxTemplates template = new TextBoxTemplates ();

     

        [Localizable (true )]

        public TextBoxTemplates Template

        {

            get { return template; }

            set

            {

                template = value ;

                TemplateChange();

            }

        }

     

        public TextBoxTemplate()

        {

            InitializeComponent();

        }

     

        private void TemplateChange()

        {

            //conforme layout selecionado faz a formatação

            switch (template)

            {

                case TextBoxTemplates .Pradao:

                     this .BackColor = Color .FloralWhite;

                    break ;

                case TextBoxTemplates .Obrigatorio:

                    this .BackColor = Color .DarkOrange;

                    break ;

                default :

                    break ;

            }

           

        }

    }

    Espero ter ajudado.

    • Marcado como Resposta undefined error segunda-feira, 11 de janeiro de 2010 12:09
    sexta-feira, 8 de janeiro de 2010 13:58
  • Cria um TextBox personalizado que herda de TextBox, e no construtor do seu textBox seta as propriedades que vc quer.
    Após use este textbox onde vc quiser.
    • Marcado como Resposta undefined error segunda-feira, 11 de janeiro de 2010 12:10
    sexta-feira, 8 de janeiro de 2010 13:49

Todas as Respostas

  • Cria um TextBox personalizado que herda de TextBox, e no construtor do seu textBox seta as propriedades que vc quer.
    Após use este textbox onde vc quiser.
    • Marcado como Resposta undefined error segunda-feira, 11 de janeiro de 2010 12:10
    sexta-feira, 8 de janeiro de 2010 13:49
  • Então Rapahel, a melhor opção mesmo para interfaces ricas é o WPF/Silverlight, mas eu fiz um exemplo do que você pode fazer em Windows form para formatar os controles conforme layouts, um exemplo bem simples mas da pra ter uma idéia de que não vai ser muito divertido.

     

    Então eu herdei a classe TextBox, criei uma propriedade Tamplate que você consegue selecionar em um combobox nas propriedades do textbox na tela onde você inseri-lo. Quando alterado o template aplico as formatações, segue código.

     

    public partial class TextBoxTemplate : TextBox

    {

        public enum TextBoxTemplates

        {

            Pradao = 1,

            Obrigatorio = 2

        }

     

        private TextBoxTemplates template = new TextBoxTemplates ();

     

        [Localizable (true )]

        public TextBoxTemplates Template

        {

            get { return template; }

            set

            {

                template = value ;

                TemplateChange();

            }

        }

     

        public TextBoxTemplate()

        {

            InitializeComponent();

        }

     

        private void TemplateChange()

        {

            //conforme layout selecionado faz a formatação

            switch (template)

            {

                case TextBoxTemplates .Pradao:

                     this .BackColor = Color .FloralWhite;

                    break ;

                case TextBoxTemplates .Obrigatorio:

                    this .BackColor = Color .DarkOrange;

                    break ;

                default :

                    break ;

            }

           

        }

    }

    Espero ter ajudado.

    • Marcado como Resposta undefined error segunda-feira, 11 de janeiro de 2010 12:09
    sexta-feira, 8 de janeiro de 2010 13:58
  • Hmm, entendi.
    Beeeem trabalhoso isso.

    Mas se é o jeito não?

    Silverlight to querendo fazer um curso mas ainda não encontrei um bom.
    Mas obrigado pela ajuda.
    Ph
    segunda-feira, 11 de janeiro de 2010 12:10