Usuário com melhor resposta
Dúvida para criar uma Classe em C#

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 } }
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.
- Sugerido como Resposta Paulo Caleffi - Dot.Net quarta-feira, 8 de maio de 2013 11:47
- Marcado como Resposta Felipo Gonçalves sexta-feira, 10 de maio de 2013 20:03
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.
-
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.
- Sugerido como Resposta Paulo Caleffi - Dot.Net quarta-feira, 8 de maio de 2013 11:47
- Marcado como Resposta Felipo Gonçalves sexta-feira, 10 de maio de 2013 20:03