COMO EXIBIR UM FORMULARIO SEM USAR O SHODIALOGO EM

DANIROSA 10/02/2014 10:18:34
#434475
Boa tarde!
eu tenho dois formularios, num eu chamo o outro que tem um datagridview com a lista dos datos, e quero que ao ser exibido ele preenche a textbox com o codigo, mas não quero fazer isso usando o shodialog, quero exibir sem ser em modo showdialog.


como faço isso?
eu fiz assim:

Private Sub TxtCodigoProvincia_KeyDown(sender As Object, e As KeyEventArgs) Handles TxtCodigoProvincia.KeyDown


[ô]aqui ao premirmos a tecla f2 abrimos o formulario com a lista dos paises

If e.KeyCode = Keys.F2 Then


[ô]exibimos o formulario lista de actividades, e a variavel deste formulario foi declarada no cabeçario do formulario

FrmListaProvincias.MdiParent = FrmPRINCIPAL

listFormProvincias.ShowDialog()



[ô]aqui exibimos os dados nas textbox

TxtCodigoProvincia.Text = listFormProvincias.DGVListaProvincia.CurrentRow.Cells(0).Value.ToString

TxtCodigoContinenteProvincia.Text = listFormProvincias.DGVListaProvincia.CurrentRow.Cells(1).Value.ToString

TxtCodigoPaisProvincia.Text = listFormProvincias.DGVListaProvincia.CurrentRow.Cells(2).Value.ToString

TxtSiglaProvincia.Text = listFormProvincias.DGVListaProvincia.CurrentRow.Cells(3).Value.ToString

TxtDescriçãoProvincia.Text = listFormProvincias.DGVListaProvincia.CurrentRow.Cells(4).Value.ToString


listFormProvincias.DGVListaProvincia.Columns.Clear()

[ô] listFormProvincias.DGVListaProvincia.Rows.Clear()



End If

[ô]Aqui ao premirmos a tecla escap limpamos as textboxes

If e.KeyCode = Keys.Escape Then

LimparProvincia()


listFormProvincias.DGVListaProvincia.Columns.Clear()

[ô] listFormProvincias.DGVListaProvincia.Rows.Clear()


End If




aqui o codigo do botão que exibe a lista dos paises, eu não quero exibir os formularios em show dialog. porque em sho dialog não permite fazer mais nada enquanto estiver ativo o formulario.



Private Sub btnLocalizarPaisProvincia_Click(sender As Object, e As EventArgs) Handles btnLocalizarPaisProvincia.Click

TxtCodigoPaisProvincia.Focus()

FrmListaPaises.MdiParent = FrmPRINCIPAL

listFormPaises.ShowDialog()


TxtCodigoPaisProvincia.Text = listFormPaises.DGVListaPaises.CurrentRow.Cells(0).Value.ToString


listFormPaises.DGVListaPaises.Columns.Clear()

[ô] listFormPaises.DGVListaPaises.Rows.Clear()


End Sub



Private Sub btnLocalizarPaisProvincia_Click(sender As Object, e As EventArgs) Handles btnLocalizarPaisProvincia.Click

TxtCodigoPaisProvincia.Focus()

FrmListaPaises.MdiParent = FrmPRINCIPAL

listFormPaises.ShowDialog()


TxtCodigoPaisProvincia.Text = listFormPaises.DGVListaPaises.CurrentRow.Cells(0).Value.ToString


listFormPaises.DGVListaPaises.Columns.Clear()

[ô] listFormPaises.DGVListaPaises.Rows.Clear()


End Sub



alguem pode ajudar?

Obrigado





PROFESSOR 15/02/2014 22:56:05
#434850
Resposta escolhida
Da forma mais simples:
Use o método Show.
Para que o formulário sobreponha o atual, ficando sobre os demais, use a propriedade TopMost. No textchange, ou no keyup, efetue a atualização dos dados, em uma rotina comum á ambos os formulários.

Há outras formas, onde, por exemplo, você utilizaria funções de callback entre os formulários.
Tópico encerrado , respostas não são mais permitidas