FUNCTION

ALTAIR148 08/05/2012 14:33:00
#401555
     Dim Frm2 As Registos
If IsNothing(Frm2) = False Then
If Registos.Text = [Ô]Registo de Paises[Ô] Then
[ô]o formulário esta ativo
Frm2.ShowDialog()
Else
Frm2 = New Registos()
Frm2.Show()
End If
JOHNHEY 08/05/2012 18:05:05
#401578
da forma que colocaste agora nao abre nada, nem da erro
JOHNHEY 27/05/2012 07:52:04
#402905
Ola pessoal gostaria de postar aqui o meu projecto mas não consigo porque ele tem quase 5 mb, como posso fazer para posta-lo em algum lugar para que você possam vê-lo e ajudar-me
AJSO 27/05/2012 12:56:47
#402915
Caro JOHNHEY

Este projeto que está desenvolvnedo necessita de Classes mais adequadas para DAL, BAL, UI (conceitos de camadas) para tratar o conteudo de cada variável e retorna para outro objeto e ser possivel enviar e receber dados atraves de variáveis internas utilizando os conceitos de herança OOP(Orientação de objetos) e o mais importante que é o conceito de camadas customizando assim seu desenvolvimento reduzindo muitas linhas repetidas de programação.




Boa sorte
JOHNHEY 27/05/2012 13:45:36
#402918
Mas ele tem esse tamanho devido ao banco de bados, se puder me ajudar, e tiver algum msn por favor me adicione que lhe envio meu projecto para dar um vista de olhos. johnhey_sp@hotmail.com
JOHNHEY 09/06/2012 07:55:12
#403816
Será que isso só acontece comigo? ninguem tem problemas em passar dados de formfilho para outro formfilho.
Caso possam me envie o vosso email que envio o meu projecto.

Atenciosamente

John Trindade
JOHNHEY 24/06/2012 12:04:04
#404779
O Projecto anterior não estava a complicar pois tive que retirar alguns arquivos, este agora esta completo, por favor me ajudem.
Quando executares dê dois cliques sobre qualquer pais e veja que os valores não são devolvidos no form
JOHNHEY 28/06/2012 14:28:23
#405124
testei conforme um amigo daqui do vbmania orientou, com o msgbox e me retornou o valor, só que no form não aparece nada.
JOHNHEY 11/11/2012 11:53:39
#413990
Boas pessoas, a tempos coloquei esse tópico e até o momento sem resposta que desse certo. agora venho tentar explicar melhor e pedir a vossa ajuda.

Como mencionei em algumas duvidas aqui postadas, tenho um projecto com um único form.
O mesmo utilizo para (Cliente, empresa, Produtos, etc...)
Tenho uma variavel que me diz qual o form que esta aberto para poder funcionar os botoes nos seus devidos lugares.

Para abrir o form utilizo os seguintes codigos:

Private Sub PaisToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PaisToolStripMenuItem.Click
Try
[ô]Verifica se o form já esta aberto e traz para frente
For Each child In Me.MdiChildren
If TypeOf child Is Registos Then
If child.Text = [Ô]Registo de Paises[Ô] Then
child.WindowState = FormWindowState.Normal
child.Focus()
tabela = [Ô]TBPais[Ô]
Exit Sub
End If
End If
Next
[ô]caso não esteja aberto ele abre
Dim frm As New Registos
frm.MdiParent = Me
variaveldcf = [Ô]Registo de Paises[Ô] [ô] atribui um valor a variavel
frm.Show()
tabela = [Ô]TBPais[Ô]
[ô]Se der erro exibe o erro
Catch EX As Exception
MsgBox([Ô]erro - [Ô] + EX.Message)
End Try
End Sub

Neste formulário tem um botão de procurar que abre o formulário de pesquisa
no botão de procurar tenho os seguintes códigos:

Private Sub Procurar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Procurar.Click
Try
Select Case variaveldcf
Case [Ô]Registo de Paises[Ô]
Try
[ô]Verifica se o form já esta aberto e traz para frente
For Each child In Principal.MdiChildren
If TypeOf child Is Pesquisa Then
child.WindowState = FormWindowState.Normal
child.Focus()
Exit Sub
End If
Next
[ô]caso não esteja aberto ele abre
Dim frm As New Pesquisa
frm.MdiParent = Principal
frm.Top = [Ô]232[Ô]
frm.Left = [Ô]970[Ô]
frm.Text = [Ô]Pesquisar...[Ô]
frm.Show()
[ô]Se der erro exibe o erro
Catch EX As Exception
MsgBox([Ô]erro - [Ô] + EX.Message)
End Try
Case [Ô]Registo de Ruas[Ô]
(....)
End Select
Catch EX As Exception
MsgBox([Ô]erro - [Ô] + EX.Message)
End Try
End Sub

O formulário de pesquisa esta a funcionar correctamente, o problema esta aqui, quando dou dois cliques sobre o registo que gostaria de visualizar ou alterar que estão relacionados no dbgrid, o mesmo deveria ser retornados para o primeiro formulário, só que não retorna nada.
já fiz um msgbox para ver se esta a funcionar, e esta correcto.

no dbgrid tenho:

Private Sub DGPesquisa_MouseDoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles DGPesquisa.MouseDoubleClick
[ô]Seleciona dados no datagrid com um duplo click
regpais = DGPesquisa.CurrentRow.Cells(0).Value
Nomepaistxt = DGPesquisa.CurrentRow.Cells(1).Value
Me.dispose()
End Sub

também já tentei colocar nos seguintes eventos.
CellDoubleClick, cellmousedoubleclick, doubleclick e não retorna.

Caso tenham duvidas, vejam o video e se for preciso envio o projecto.
1º Video
http://youtu.be/_vjnWTfPahA
2º Video
http://youtu.be/0y6rknD83JI

Não da nenhum erro, já tentei criar uma function a para jogar os dados e nada.
fiz um breakpoint e é como se o sistema já estivesse passado por todas as linhas de comando.

somente quando deixo de usar como form pai e filho que funciona.

Ao invés de abrir o form assim:

Dim frm As New Registos
frm.MdiParent = Me
variaveldcf = [Ô]Registo de Paises[Ô] [ô] atribui um valor a variavel
frm.Show()
tabela = [Ô]TBPais[Ô]

Abri-lo assim:
frmregisto.show()

Só que ai terei que fazer um form para cada tela de cadastro.
Isso não deixa o sistema pesado?
Também existe outro problema quando abro outro sistema qualquer e volto no que estava aberto os form não estão todos dentro do mdiprincipal terei que clicar na barra de tarefa para ver quais estão aberto.
E para alternar entre um form e outro também terei que deslocar me na barra de tarefas.
JOHNHEY 19/12/2012 08:03:26
#416173
Ok, consegui resolver da seguinte forma:
Em uma Modulo criei:
   
Public <Registo> As String [ô]Cria a variável que carregara o numero do registo
Public <Nomepais> As String [ô] Cria a variável que carregara o nome do pais
Public timer As Integer


No formulário de Pesquisa (Datagrid) no evento Celldoubleclick:
GERAL é o nome que dei ao meu Modulo
     
Try
If geral.timer = 1 Then
geral.index = DGPesquisa.CurrentRow.Cells(0).Value
geral.regpais = DGPesquisa.CurrentRow.Cells(1).Value
geral.nomepais = DGPesquisa.CurrentRow.Cells(2).Value


Else
geral.index = DGPesquisa.CurrentRow.Cells(0).Value
geral.regpais = DGPesquisa.CurrentRow.Cells(1).Value
geral.nomepais = DGPesquisa.CurrentRow.Cells(2).Value
geral.timer = 1

End If
Me.Dispose()
Catch EX As Exception
MsgBox([Ô]erro - [Ô] + EX.Message)
End Try


E no formulário que será visualizado os dados coloquei um timer com o seguinte:

If geral.timer = 1 Then

txtregisto.Text = geral.regpais
txtnome.Text = geral.nomepais
geral.timer = 0

Else

Exit Sub

End If
Página 2 de 2 [20 registro(s)]
Tópico encerrado , respostas não são mais permitidas