none
Como faço para passar essa lista para outra classe? E alem disso, como posso fazer para acessar os dados? RRS feed

  • Pergunta

  • public class Tarefa
    {
           public int codigo { get; set; }
           public String tarefa { get; set; }
           public int nivel_prioridade { get; set; }
           public string dayWeek { get; set; }
           public DateTime data { get; set; }
    }
    
    //Criei esse btn_Salvar que adiciona os dados na lista: List<Tarefa> list = new List<Tarefa>();
    
     private void btn_Salvar_Click(object sender, EventArgs e)
     {
             tarefa.codigo = ObterCodigo();
             tarefa.tarefa = text_Tarefa.Text;
             tarefa.dayWeek = cmbo_Dayweek.Text;
             tarefa.nivel_prioridade = nivelTarefa;
             tarefa.data = 
             Convert.ToDateTime(mask_data.Text);
             //Adicionando obj na lista
             list.Add(tarefa);
             CarregarDataGridView();
             LimparControle();
    
             MessageBox.Show("Tarefa inserida com sucesso!");
             
     }


    terça-feira, 6 de junho de 2017 14:12

Respostas

  • Bom dia Ericles Henrique,

    Você precisa criar um construtor e uma nova lista no form 2

    public partial class Current_Customers : Form
    {  
    List<Customers> new_customer = new List<Customers>();
    public Current_Customers(List<Customers> customers)
    {
     new_customer=customers;
    }
    }

    Então você vai criar o objeto no form 1 e passar isso para o segundo form.

     Current_Customers cus=new Current_Customers(new_customer);


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 7 de junho de 2017 13:28

Todas as Respostas

  • Ericles explique um pouco mais o que você precisa fazer para que possamos te ajudar.

    Você precisa enviar a list para uma outra classe a partir de uma evento disparado no form ou algo assim? E quanto a acessar os dados você se refere a acessar a lista através de quem instanciou o form ou acesso a banco, ou algo assim?
    terça-feira, 6 de junho de 2017 14:35
  • Essa lista eu criei no Form chamado: Tarefas

    Dai criei outro form chamado: Visualizador

    Eu quero passar a lista do Form Tarefas para o Form Visualizadore exibir no CheckedListBox que criei no Form Visualizador.

    Você precisa enviar a list para uma outra classe a partir de uma evento disparado no form ou algo assim?              Na verdade não, quando eu chamo o form Visualizador eu quero que no Load dele já imprima no CheckedListBox os dados da lista do form Tarefas.


    Não estou usando bancos de dados, quero acessar os dados dentro da lista, como em um vetor que você pode acessar o dados especificando a linha e coluna. Ex: int var = list[0][1]; // Isso seria possível também fazer com um list?

    terça-feira, 6 de junho de 2017 16:27
  • Boa tarde Ericles Henrique,

    Aqui a exemplicação para adicionar itens em um listBox presente em outro form:

    Form1 public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { Form2 frm2 = new Form2(); if (frm2.ShowDialog(this) == DialogResult.OK) { listBox1.Items.Add(frm2.getItem()); } frm2.Close(); frm2.Dispose(); } }

    From2

    public partial class Form2 : Form
    {
        public Form2()
        {
            InitializeComponent();
            button1.DialogResult = DialogResult.OK;
            button2.DialogResult = DialogResult.Cancel;
        }

        public string getItem()
        {
            return textBox1.Text;
        }
    }



    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 6 de junho de 2017 20:45
  • Amigo obrigado pela ajuda. Mas como faço para passar uma LIST de um form para outro form?                                                             Ex:

    Form 1: 

    public class Tarefa { public int codigo { get; set; } public String tarefa { get; set; } public int nivel_prioridade { get; set; } public string dayWeek { get; set; } public DateTime data { get; set; } }

    /*Criei esse btn_Salvar que adiciona os dados na lista: */

    List<Tarefa> list = new List<Tarefa>(); private void btn_Salvar_Click(object sender, EventArgs e) { tarefa.codigo = ObterCodigo(); tarefa.tarefa = text_Tarefa.Text; tarefa.dayWeek = cmbo_Dayweek.Text; tarefa.nivel_prioridade = nivelTarefa; tarefa.data = Convert.ToDateTime(mask_data.Text); //Adicionando obj na lista list.Add(tarefa); CarregarDataGridView(); LimparControle(); MessageBox.Show("Tarefa inserida com sucesso!"); }

    Form 2:

    Form1 pegarList = new Form1();
    
    //Eu quero nesse 2 form, pegar a lista criada no primeiro form
    //e passar os dados do atributo 'tarefa' para o CheckedBoxList
    
    foreach(Tarefa t in pegarList.list){
           CheckedBoxList.Items.Add(t.tarefa.ToString())
    }


         
    quarta-feira, 7 de junho de 2017 12:28
  • Bom dia Ericles Henrique,

    Você precisa criar um construtor e uma nova lista no form 2

    public partial class Current_Customers : Form
    {  
    List<Customers> new_customer = new List<Customers>();
    public Current_Customers(List<Customers> customers)
    {
     new_customer=customers;
    }
    }

    Então você vai criar o objeto no form 1 e passar isso para o segundo form.

     Current_Customers cus=new Current_Customers(new_customer);


    Att., Roberto Alves

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    quarta-feira, 7 de junho de 2017 13:28
  • Agora acho que isso vai resolver meu problema. Obrigado! Vou testar depois.
    quarta-feira, 7 de junho de 2017 13:35