Array
(
)

Acessando componentes em outros formulários

Super_bird_79
   - 07 fev 2007

Gostaria de saber como faço para acessar componentes em um outro formulário (Winforms), exemplo:

No Form1 tenho um button que chama um Form2 e quando este ultimo
e fechado devo colocar a propriedade textBox1.text dele em uma um
Treeview no Form1 :

Form1.TreeView1.Nodes.Add(Form2.TextBox1.Text) ;

No Delphi VCL era só acrescentar o Form2 na claúsula USES e pronto, mas no WinForms para .NET parece que nada é trivial....

Obrigado!


Rjun
   - 07 fev 2007

No Delphi para WIN 32 o forms normalmente eram auto criados no inicio da aplicação. Coloque o trecho de código em que você está tentando fazer essa operação.


Super_bird_79
   - 07 fev 2007

Não era bem isso que eu queria ... com delphi 32 eu já trabalho desde a versão 3 e estou careca (rss de verdade) de saber sobre o tópico acima, o problema é a meleca do .NET como eu faço:

no WinForm1 tenho
uses
WinForm2;


WinForm1.Edit1.Text := WinForm2.Edit3.Text;


Rjun
   - 07 fev 2007

Provavelmente o objeto que você esta tentando acessar não esteja na area de objetos publicos do seu form. Veja no seu código. Você tem duas opções: colocar seu objeto como público, como era na VCL, o que acho ruim, ou criar uma proprieade que exponha a informação que você quer obter.


Super_bird_79
   - 07 fev 2007

OK ! TAMBÉM CONCORDA VOU CRIAR UM

PROPERTY VALOR: STRING READ FVALOR READ SETVALOR;

THANKS A LOT !


Rjun
   - 07 fev 2007

Outra coisa. Seu form também não vai estar criado. Veja que você so tem a classe. Precisa cria-lo. Por exemplo:

#Código


var
WinForm1 : TWinForm1;
begin
WinForm1 := TWinForm1.Create;
try
Label1.Text := WinForm1.Texto;
finally
WinForm.Dispose;
end;
end;