COMO INSTANCIAR UM CONTROLE EM OUTRO FORMULARIO?

RENATOTEOTONIO 06/08/2012 13:34:48
#407268
Ola amigos,
gostaria de contar com a ajuda de voces para resolver o seguinte problema:

Criei um form (frmRelatorio) em tempo de execucao:

Dim frmRelatorio As New Form

e em seguida gostaria de instanciar um controle CrystalReportViewer nesse mesmo formulario.

Alguem sabe como posso fazer isso?

Desde ja muito obrigado.
KERPLUNK 06/08/2012 14:00:58
#407280
Resposta escolhida
Quando você instancia o formulário, se o controle está dentro dele, ele também já está instanciado...
frmRelatorio.NomeDoControle.QualquerCoisa = [Ô]xxxx[Ô]
RENATOTEOTONIO 07/08/2012 08:51:17
#407350
Caro amigo,

note que o form esta sendo instanciado em tempo de execucao e nesse momento nao ha nada dentro dele.

Obrigado
KERPLUNK 07/08/2012 11:03:20
#407379
Então o que você quer é adicionar o controle ao form em tempo de execução, isso?
RENATOTEOTONIO 07/08/2012 12:18:05
#407392
Sim, isso mesmo.

Quero criar um form e instanciar um CrystalReportViewer no mesmo, tudo em tempo de execucao.

Obrigado.
KERPLUNK 07/08/2012 13:27:55
#407401
Você não vai instanciar no form, você vai instanciar em algum outro local(geralmente o mesmo que instancia o form) e adicionar o controle no form
dim form as frmClientes = new frmClientes
dim crystal as crystalReport = new CrystalReport
form.controls.add(crystal)

algo assim
RENATOTEOTONIO 07/08/2012 14:47:49
#407421
ok...
valeu amigo, funcionou...
Ainda nesta linha de raciocinio, seria possivel criar variaveis locais neste formulario?

JABA 07/08/2012 15:05:17
#407426
sim. Voce poderia cria um formulario herdando de um formulario padrao e adicionar as variaveis de que precisa nesse formulario.
Na hora de criar os forms dinamicamente, utilize esse que ja possui as variaveis locais.

ex:

dim form as frmComVariaveisLocais = new frmComVariaveisLocais
dim crystal as crystalReport = new CrystalReport
form.controls.add(crystal)

vlw
RENATOTEOTONIO 08/08/2012 14:34:42
#407507
Valeu amigos,

obrigado pelas dicas.

Um abraco.
Tópico encerrado , respostas não são mais permitidas