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

Actualizar variaveis de classe c#

Discussão em 'Programação' iniciada por candycane, 21 de Outubro de 2008. (Respostas: 6; Visualizações: 1075)

  1. candycane

    candycane Power Member

    Boa noite comunidade! :)

    Alguem pode ajudar-me em uma coisa que pensava ser facil de fazer LOL

    eu tenho duas class (class1 e class2)
    o que pretendo fazer é mudar o valor de uma variavel que esta na class1 durante um evento click da class2.

    Como posso fazer isso?
    Tentei com propriedades, mas o estado do da variavel que esta na class1 não muda :(

    tenho:
    class1
    public static int x = 0;


    no evento click da class2 tenho:
    class1.x = 1;


    mas a variavel x continua a 0 :(
     
  2. Baderous

    Baderous Banido

    Cria um método de classe (static) que altere o valor da variável. Depois no evento click, chamas esse método.
     
  3. candycane

    candycane Power Member

  4. Baderous

    Baderous Banido

    Sim. O método de alterar variável de classe escreve-se na definição da classe onde a variável foi definida.
     
  5. candycane

    candycane Power Member

  6. SoundSurfer

    SoundSurfer Power Member

    As Classes não têm dados, os seus objectos é que têm.

    Na class 3 tens de aceder ao um objecto do tipo class1 e mudar-lhe a variável (que não pode ser static)
     
  7. samouco

    samouco Power Member

    Não sei o q fizeste mas... vê lá este exemplo pode ser que ajude...

    Código:
    
            public partial class Form1 : Form
    	{
    		private Class1 c1; 
    
    		public Form1()
    		{
    			InitializeComponent();
    
    			c1 = new Class1();
    		}
    
    		private void button1_Click(object sender, EventArgs e)
    		{
    			c1.x = 2;
    		}
    
    		private void button2_Click(object sender, EventArgs e)
    		{
    			MessageBox.Show(c1.x.ToString());
    		}
    	}
    
            class Class1
    	{
    		public int x = 0;
    	}
    
    
    PS: Funciona bem.
     

Partilhar esta Página