FUNCTION
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.
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.
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
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.
fiz o que você me indicou mas nao funciona também.
ruadapaia@hotmail.com
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?
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?
Na imagem mostra como fazer isso.
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?
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?
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.
ao invés de colocar
Tente
frm.Show()
Tente
frm.ShowDialog()
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
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
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
Tópico encerrado , respostas não são mais permitidas