none
Dúvida para criar uma Classe em C# RRS feed

  • Pergunta

  • Pessoal, sou iniciante em C# e nessa fase inicial estou aprendendo a trabalhar com CLASSES, as classes são muito úteis quando temos determinados códigos que se repetem durante a programação e podemos incluir esse código em uma classe e fazer a chamada dele sempre que for necessário. Por enquanto, aprendi somente a ciar uma classe que realiza as operações de INSERT, UPDATE e DELETE em uma B.D mas, durante construção de uma AGENDA DE CONTATOS que estou fazendo para estudar a linguagem C#, percebi que o processo de LIMPAR os campos digitados aparecerá, em pelo menos, 4 telas e resolvi, então, colocar esse código dentro de uma classe e fazer a chamada dele (código) nos formulários que exigirem a limpeza dos campos mas, quando criei a classe (ClasseLimparCampos) e informei nela os campos do formulário que pretendo limpar, a mensagem que consta na imagem abaixo foi exibida.

    Alguém pode ajudar explicando o que devo fazer para que a ideia da classe que apague os campos dos formulários funcione.

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    
    namespace Agenda
    {
        class ClasseLimparCampos
        {
            #region "MÉTODO PARA LIMPAR CAMPOS"
    
            public void LimparCampos()
            {
                tbNome.Text = "";
                tbEndereco.Text = "";
                mskDataNascimento.Text = "";
                tbNomePai.Text = "";
                tbNomeMae.Text = "";
                cbUF.Text = "";
                tbemail.Text = "";
                cbEstadoCivil.Text = "";
                cbCidade.Text = "";
                tbProfissao.Text = "";
                mskTelefone.Text = "";
                mskCelular.Text = "";
                rtbObservações.Text = "";
    
            }
    
    
            #endregion
        }
    }
    

    quarta-feira, 8 de maio de 2013 06:43

Respostas

  • Bom dia Leandro, você pode criar propriedades dessa forma, para informar quem qual valor será setado ao textbox, no caso será vazio

    Sua Classe ficará desta Forma


       public class Class1
        {
           
                private string nome;

                public string nome1
                {
                    get { return nome; }
                    set { nome = value; }
                }

     

                #region "MÉTODO PARA LIMPAR CAMPOS"

                public void LimparCampos()
                {
                    nome1 = "";

                }


                #endregion

        }

    agora no botão do seu formulário você pode

     private void button1_Click(object sender, EventArgs e)
            {
                Class1 cs = new Class1();

                textBox1.Text = cs.nome1;

                cs.LimparCampos();
            }

    usando as propriedades lhes permite criar somente uma classe para setar os valores

    Se a Resposta foi Útil por favor qualificar, Obrigado.

    quarta-feira, 8 de maio de 2013 11:13

Todas as Respostas

  • Olá Leandro,

    O grande detalhe é que a classe pode modificar componentes que ela possua instanciados em sua implementação, ou componentes recebidos por parâmetros ou componentes estáticos. No seu caso, os controles estão em um outro objeto, e como eles não são do tipo estático, você não consegue modificar eles através de uma outra classe. O que poderia fazer é recebe-los como parâmetros para que sejam limpos nesta classe, porém isto geraria uma enorme dependência no código, pois nem sempre serão os mesmos controles. Eu ainda faria este comportamento por tela mesmo...

    Att.


    Fabio Rosa.

    quarta-feira, 8 de maio de 2013 10:31
  • Bom dia Leandro, você pode criar propriedades dessa forma, para informar quem qual valor será setado ao textbox, no caso será vazio

    Sua Classe ficará desta Forma


       public class Class1
        {
           
                private string nome;

                public string nome1
                {
                    get { return nome; }
                    set { nome = value; }
                }

     

                #region "MÉTODO PARA LIMPAR CAMPOS"

                public void LimparCampos()
                {
                    nome1 = "";

                }


                #endregion

        }

    agora no botão do seu formulário você pode

     private void button1_Click(object sender, EventArgs e)
            {
                Class1 cs = new Class1();

                textBox1.Text = cs.nome1;

                cs.LimparCampos();
            }

    usando as propriedades lhes permite criar somente uma classe para setar os valores

    Se a Resposta foi Útil por favor qualificar, Obrigado.

    quarta-feira, 8 de maio de 2013 11:13