duvida de variaveis

tahir

Power Member
olá a todos ....
eu estou a entrar em colapso a dar em maluquinho ou não sei bem.....

tenho um problema que é extremamente simples mas não consigo resolver: qual a maneira de usar variaveis de um form noutro form?

imaginemos tenho o from1 com o código:

Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim ola As String
ola = "ola como estas"

End Sub
End Class



e no form2 quero chamar a variavel ola para a fazer aparecer num message box...do tipo:

Public Class Form2

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
messagebox.show (My.Forms.Form1.ola)

End Sub
End Class



o problema é que me aparece esta mensagem de erro 'ola' is not a member of 'WindowsApplication1.Form1'.

eu acho que já consegui fazer isto em outros projectos de teste...não sei o que se está a passar, tou a fazer algo mal concerteza, não consigo é perceber o quê.....

alguem me pode ajudar? e explicar como fazer para chamar uma variavel de um form para o outro?

é uma dúvia estupida eu sei...ma há dias assimmm

abraço e desde já obrigado.
PS: estou a usar o visual basic 2005 express

 
Boas,

pelo que eu percebi penso o problema está na definição da variavel ola por esta estar definida dentro de uma função e ser local... experimenta da seguinte forma:


Public Class Form1

Public ola as string

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ola = "ola como estas"

End Sub
End Class

Penso que assim conseguirás fazer o que pretendes

Cumprimentos,

Khrono
 
A variável tem que ser declarada como global (fora de qualquer procedimento) e como pública, para poder ser acedida por outras classes dentro do mesmo projecto. Vê o exemplo do Khrono. ;)
 
obrigado

isto realmente....às vezes é nos pormenores que está tda a diferença....nunca tinha reparado que dava para criar uma variavel como public, pensei que o método para criar variável era sempre:
dim 'variavel' as ''instrução".....

pois experimentei com a sugestão do khrono e bingo já deu.....

um abraço e obrigado pela ajuda...isto realmente quem sabe, sabe

Abraço
 
Back
Topo