FUNCTION

JOHNHEY 05/05/2012 19:28:12
#401430
Ola pessoal, estou a ficar quase louco, por favor vejam se me ajudem.

Tenho um sistema esta tudo a funcionar, só que quando busco alguns dados ele não me aparece.

tenho um formulario de pesquisa com um datagrid, no evento mousedoubleclick uso:
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
[ô]Fecha a tela
Registos.buscardados() [ô] chama a função
Me.Hide()
End Sub

depois no formulario de registo tenho a função:

Function buscardados()
If regpais <> [Ô][Ô] Then
Me.txtregisto.Text = regpais
Me.txtnome.Text = Nomepaistxt
Me.cmdincluir.Enabled = False
Me.cmdgravar.Enabled = False
Me.cmdeditar.Enabled = True
Me.cmdalterar.Enabled = True
Me.cmdexcluir.Enabled = True
Else
Exit Function
End If
End Function

e em um modulo tenho a criação das variaveis.

Module geral
Public regpais As String [ô]Cria a variável
Public Nomepaistxt As String [ô] Cria a variável
End Module

o pior é, já coloquei breakpoint em tudo e não para em nada segue até o fim, seleciona valores no datagrid e devolve os nas variaveis, só que não aparece nada no form.
Ja olhei a cor da fonte pensando que estava branca, mas não esta, vejam lá se podem me ajudar, pois já tenho ate dor de cabeça.
ALTAIR148 05/05/2012 22:30:09
#401434
Resposta escolhida
Tente assim:

Private Sub DGPesquisa_MouseDoubleClick(sender As Object, e As System.Windows.Forms.MouseEventArgs) Handles DGPesquisa.MouseDoubleClick
[ô]Seleciona dados no datagrid com um duplo click
form1.txtregisto.Text = DGPesquisa.CurrentRow.Cells(0).Value
form1.txtnome.Text = DGPesquisa.CurrentRow.Cells(1).Value
me.dispose
end sub



JOHNHEY 06/05/2012 09:45:11
#401443
Altair obrigado pela ajuda, foi até você que me disse como fazer para pegar os valores do datagrid, e esta a funcionar a 100% só que nao me aparece valores eu nao sei o que é, se tiveres um email eu envio o projecto zipado.
fiz o que você me indicou mas nao funciona também.
ALTAIR148 06/05/2012 10:58:19
#401445
ruadapaia@hotmail.com
JOHNHEY 08/05/2012 07:20:05
#401513
Graças ao colega Altair148, que foi quem descobriu o seguinte:

Quando utilizo o form como filho não me é devolvido valores.

Quando não utilizo o form como filho e devolvido valores.

Gostaria de utilizar como formfilho para não ter varios forms aberto na barra de tarefas, como posso resolver?
ALTAIR148 08/05/2012 07:39:07
#401514
Na imagem mostra como fazer isso.

JOHNHEY 08/05/2012 10:50:22
#401527
Mas agora tenho outro probleminha.

Eu utilizo o mesmo form para varios tipos de cadastro.
Como são o mesmo numero de campos, apenas tenho um form e ao chama-lo altero nome dos campos labels e e caption(text) do form e através disto giro os botões.

Quando eu já tenho um form aberto ex: Form para cadastro de Pais e vou tentar abri-lo novamente ele apenas me traz para frente e não abre, para isso utilizo as linha abaixo, como ficaria neste caso.

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
ou nao poderei usar mais assim, terei que fazer um form para cada?
JOHNHEY 08/05/2012 11:00:45
#401529
e outra se coloco a opção false como indicou acima, ao abrir o projecto e clicar no mdiprincipal não me aparece o form, tenho que minimizar tudo para encontra-lo e como filho estava sempre dentro do formpai.
ALTAIR148 08/05/2012 12:57:22
#401541
ao invés de colocar

 frm.Show()


Tente

 frm.ShowDialog()
ALTAIR148 08/05/2012 13:01:43
#401543
Citação:

Quando eu já tenho um form aberto ex: Form para cadastro de Pais e vou tentar abri-lo novamente ele apenas me traz para frente e não abre, para isso utilizo as linha abaixo, como ficaria neste caso.




Esse código é um exemplo de como você faz para verificar se o form já esta aberto, se estiver aberto ele chama, se não estiver aberto ele abre.

Dim Frm2 as  Form2
If IsNothing(frm2) = False Then
[ô]o formulário esta ativo
frm2.showdialog()
Else
frm2 = New Form2()
frm2.Show()
End If
JOHNHEY 08/05/2012 14:29:41
#401554
fiz da seguinte forma.
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
Else
Frm2 = New Registos()
Frm2.Show()
End If

só que abre varias vezes o mesmo form
Página 1 de 2 [20 registro(s)]
Tópico encerrado , respostas não são mais permitidas