1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Ajuda] C# Chamar metodos de uma class

Discussão em 'Programação' iniciada por Biohazard, 5 de Abril de 2008. (Respostas: 4; Visualizações: 17554)

  1. Biohazard

    Biohazard Power Member

    Boas PEssoal,

    estou a criar um jogo da memoria em que tenho que chamar o metodo timer_tick que está numa class que se chama tabuleiro e quero passar esse metodo para um outro form, na minha class tabuleiro tenho o seguinte codigo:



    na minha outra forma consigo chamar o metodo, mas não sei o que lhe passar nos arguments, tenho assim:

    tabuleiro.timer_tick(aqui não sei o que lhe passar)

    alguem me dá umas dicas?

    Thks
     
  2. sapropel

    sapropel Power Member

    tu não chamas o timer_tick(), esse método é um evento.
    o proprio timer é que a vai chamar sempre que fizer um tick, mas tens de a registar no timer, algo como:

    timerName.onTick += new TimerEvent( timer_tick );

    não sei de cor, mas se tiveres a usar o VS o code completion automaticamente diz-te tudo.
     
  3. alfinete

    alfinete Power Member

    do tipo se tens uma clasee com o nome teste

    e o ficheiro c# onde queres chamar essa classe tiver o mesmo namespace da classe

    basta fazeres teste t = new teste(); // instanciar a classe

    chamar o metodo

    t.nomedometodo();

    para files com namespaces diferentes

    fazes nomenamespace.nomeclassedessenamespace teste= new nomenamespace.nomeclassedessenamespace()


    exemplo para o caso do mesmo name space

    file texte.cs

    Código:
    
    namespace insersao
    {
        public class teste
        {
    
         private void metodo()
        {
        }
        }
    
    }
    
    
    file texte2.cs

    Código:
    
    namespace insersao
    {
        public class teste2
        {
    
         private void funcaoi()
    
        {
    
    //instanciar classe teste
    
    teste t = new texte();
    
    //chamar metodo da classe teste
    
    t.metodo();
        }
        }
    
    }
    
    
    exemplo para o caso de name space diferente


    file texte.cs

    Código:
    
    namespace insersao
    {
        public class teste
        {
    
         private void metodo()
        {
        }
        }
    
    }
    
    
    file texte2.cs

    Código:
     
     namespace insersao2
     {
         public class teste2
         {
     
          private void funcaoi()
    
         {
    
    //instanciar classe teste
    
    insersao.teste t = new insersao.texte();
    
    //chamar metodo da classe teste
    
    t.metodo();
         }
         }
     
     }
    
    espero ter ajudado
     
  4. Biohazard

    Biohazard Power Member

    Thks já consigo chamar os metodos e os outros forms.

    Agora por exemplo tenho um objecto label.text numa form e quero o passar para a minha class tabuleiro por exemplo.

    eu crio uma propriedade na minha form para poder aceder a esse objecto na minha class tabuleiro do tipo:

    agora na minha class tabuleiro para aceder a este objecto chamo a minha form para poder aceder à propriedade que por sua vez tem o objecto ou seja:

    agora eu na minha class tabuleiro quero que ele devolva para o meu form o objecto da minha form mas com valores alterados na minha class tabuleiro do tipo:

    quero que ele devolva isto modificado para onde está originalmente o meu objecto.

    ou seja eu chamo o objecto da minha form para a class tabuleiro só para lhe alterar valores, neste caso a propriedade text, mas quero que depois na minha form ele assuma os valores que alterei na minha class tabuleiro.

    como faço isso?
     
  5. alfinete

    alfinete Power Member

    não estou a perceber bem mas vou dar um exemplo do que percebo


    tens uma class Dados

    Código:
    public class Dados
    {
    
    
     private string nome;
    
     public DataSet nome_pessoa(string id)
            {
                dbm = new DAL.DBManager();
                DataSet ds = null;
    
                dbm.connection_string = ligacaopessoa;
                dbm.Open();
                dbm.commType = CommandType.StoredProcedure;
                dbm.commText = "procura_nomepessoa";
                dbm.CreateParameter(1);
                dbm.AddParameter(0, "@id", id, ParameterDirection.Input);
                Object obj = dbm.ExecuteDataSet();
                if (obj != null)
                {
                    if (obj is System.Data.DataSet)
                    {
                        ds = (DataSet)obj;
                        nome = (ds.Tables[0].Rows[0][0]).ToString();
                    }
                }
                dbm.Close();
                dbm.Dispose();
                return ds;
            }
    }
    
       public string Nome
            {
                get { return nome; }
                set { nome = value; }
            }
            
    
    como ja deves ter percebido estou a procurar o nome pessoa referente a um id a pesquizar numa bd atraves de uma store na class nome_pessoa

    depois em outro form fasso

    Código:
    
    dados d= new dados();
    
    
    d.nome_pessoa(1);
    
    string nome= d.Nome;
    
    
    
    com reparaste aqui vou buscar o nome da pessoa referente ao id =1

    puxando logo de seguida o valor da property referente a private nome que puxa essa valor pesquizadona bd



    espero que seja essa a ajuda que queiras
     

Partilhar esta Página