COMO EXIBIR UM FORMULARIO SEM USAR O SHODIALOGO EM
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
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
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.
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