I am making a program for simple registration, without using a database, only with an array. The program was already functional when I noticed that the most important part was wrong because I had not understood correctly. I just did not use the class Person I created, but I did manipulate everything with the textbox and the datagrid I display the entries.
I could not understand right how to pull the data from the Person class (which I put the code below) to when I use a textBox to save the data in that class, into an array. And with this data saved, display each record in a row of the datagrid.
List<Pessoa> list = new List<Pessoa>();
public class Pessoa
{
//atributos privados da classe Pessoa
private string nome;
private string endereço;
private string ano_nascimento;
private string telefone;
//propriedades públicas, read-only
public Pessoa(string nome, string endereço, string ano_nascimento, string telefone)
{
this.nome = nome;
this.endereço = endereço;
this.ano_nascimento = ano_nascimento;
this.telefone = telefone;
}
//método construtor get(pega a informação) e set(grava)
public string getNome()
{
return nome;
}
public string getEndereço()
{
return endereço;
}
public string getAno_nascimento()
{
return ano_nascimento;
}
public string getTelefone()
{
return telefone;
}
public void setNome(string nome)
{
this.nome = nome;
}
public void setEndereço(string endereço)
{
this.endereço = endereço;
}
public void setAno_nascimento(string ano_nascimento)
{
this.ano_nascimento = ano_nascimento;
}
public void setTelefone(string telefone)
{
this.telefone = telefone;
}
public void AlterarEndereco(string novoEndereco)
{
endereço = novoEndereco;
}
public void AlterarTelefone(string novoTelefone)
{
telefone = novoTelefone;
}
}
Part of the code that I tried to save the register to an array after putting the data in each textbox.
private void bt_salvar_Click(object sender, EventArgs e)
{
list.Add(new Pessoa(txt_nome.Text, txt_endereco.Text, /*dataNasc*/ txt_ano.Text, txt_tele.Text));
}
And that's the part of the save code I saw that was really wrong and I was not dealing with the attributes of the class.
string[] dados = { txt_nome.Text, txt_endereco.Text, txt_ano.Text, txt_tele.Text, txt_registro.Text };
this.dataGridView1.Rows.Add(dados);
I'm programming a Windows Forms Application in C # in Visual Studio.
Intheclassnamed"Person", with the attributes "Name", "Address", "YearNation" and "Phone", I am using the private attributes that are available by the public properties (read only). Below the current code:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
List<Pessoa> listcadastro = new List<Pessoa>();
//apagar tudo que estava sendo escrito na opção de cadastro atual
void reset()
{
txt_nome.Clear();
txt_endereco.Clear();
txt_ano.Clear();
txt_registro.Clear();
txt_tele.Clear();
bt_pfisica.Checked = false;
bt_pjuridica.Checked = false;
}
private void bt_cancel_Click(object sender, EventArgs e)
{
reset();
}
public class Pessoa
{
private string nome;
private string endereço;
private string ano_nascimento;
private string telefone;
/*
//propriedades públicas, read-only
public Pessoa(string nome, string endereço, string ano_nascimento, string telefone)
{
this.nome = nome;
this.endereço = endereço;
this.ano_nascimento = ano_nascimento;
this.telefone = telefone;
}*/
public string Nome
{
get
{
return nome;
}
set
{
nome = value;
}
}
public string Endereço
{
get
{
return endereço;
}
set
{
endereço = value;
}
}
public string Ano_nascimento
{
get
{
return ano_nascimento;
}
set
{
ano_nascimento = value;
}
}
public string Telefone
{
get
{
return telefone;
}
set
{
telefone = value;
}
}
}
private void bt_salvar_Click(object sender, EventArgs e)
{
listcadastro.Add(new Pessoa() {Ano_nascimento = txt_ano.Text, Nome = txt_nome.Text, Endereço = txt_endereco.Text, Telefone = txt_tele.Text });
dataGridView1.DataSource = null;
dataGridView1.DataSource = listcadastro;
}
private void novoMenuItem_Click(object sender, EventArgs e)
{
txt_nome.Enabled = true;
txt_ano.Enabled = true;
txt_endereco.Enabled = true;
txt_tele.Enabled = true;
}
private void limpa_dados()
{
txt_nome.ResetText();// limpa o nome
txt_tele.ResetText();// limpa o telefone
txt_endereco.ResetText();// limpa o endereço
}
private void Form1_Load(object sender, EventArgs e)
{
txt_nome.Enabled = false;
txt_ano.Enabled = false;
txt_endereco.Enabled = false;
txt_tele.Enabled = false;
txt_registro.Enabled = false;
}
private void bt_pfisica_CheckedChanged(object sender, EventArgs e)
{
if (bt_pfisica.Checked)
{
txt_registro.Enabled = true;
}
}
private void bt_pjuridica_CheckedChanged(object sender, EventArgs e)
{
if (bt_pjuridica.Checked)
{
txt_registro.Enabled = true;
}
}
}
}