Forum Visual Basic - JcmSoft

Forum | Novo Topico | Responder

carlosfeju colocou o seguinte comentário em 27/9/2016 15:45:48 :         

Assunto : Re: Problema nas chamadas de formulário com VB.Net
Mensagem : Olá pessoal. O meu problema é que tenho inicialmente um form de login do sistema.
Private Sub btnProsseguir_Click(sender As Object, e As EventArgs) Handles btnProsseguir.Click

Dim form = New frmPrincipal
Me.Hide()
form.Show()

End Sub

Quando passo por ele tenho um form MDI com os menus do sistema onde seleciono um form de cadastro,
Private Sub CadastroDeProcessoToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles CadastroDeProcessoToolStripMenuItem.Click
Dim form = New frmListaProcessos
form.MdiParent = Me
form.Show()
End Sub

Neste eu mostro todos os registros em um DataGridView.

Private Sub preencherGrid()

'Variáveis para medir tempo
Dim tInicio As DateTime
Dim tFim As DateTime
Dim tDiferenca As TimeSpan

tInicio = Now

With dgvListaProcessos

'Carregar os dados
.DataSource = Nothing
.Rows.Clear()
.Columns.Clear()
carregaDadosLINQ()

'Formatando o DataGridView

'Coluna do código do Processo
.Columns(0).HeaderText = "Código"
.Columns(0).Width = 50
.Columns(0).HeaderCell.Style.Alignment = DataGridViewContentAlignment.BottomCenter
.Columns(0).DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns(0).Name = "Codigo"

'Assunto do Processo
.Columns(1).HeaderText = "Assunto"
.Columns(1).Width = 585
.Columns(1).Name = "Assunto"

'Botão de manutenção
Dim btn As New DataGridViewButtonColumn()
.Columns.Add(btn)
btn.HeaderText = "Manutenção"
btn.Text = "Click aqui"
btn.Name = "btn"
btn.UseColumnTextForButtonValue = True
'btn.Width = 30

End With

tFim = Now
tDiferenca = tFim.Subtract(tInicio)
lblTempoGasto.Text = "Tempo: " & tDiferenca.TotalSeconds.ToString("0.0") & " segundos"

End Sub
Quando o usuário clica em um dos registros, deveria abrir um outro form com todos os dados do registro selecionado, que são muitos, para fazer a manutenção, conforme rotina abaixo:

Private Sub dgvListaProcessos_CellContentDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles dgvListaProcessos.CellContentDoubleClick

Dim linha As Integer
Dim nIdProcesso As Integer

linha = dgvListaProcessos.CurrentRow.Index
nIdProcesso = dgvListaProcessos.Rows(linha).Cells("Codigo").Value

Dim form As New frmDadosProcesso(nIdProcesso)
form.MdiParent = frmPrincipal
form.Show()

End Sub

Mas o form não aparece. Pelo debug verifico que o form frmDadosProcesso é iniciado, mas não sei porque não aparece. Mas quando eu retiro o form de login, ou seja, início é pelo MDI eu consigo abrir o form frmDadosProcesso.
Public Sub New(nIdProc As Integer)

' Esta chamada é requerida pelo designer.
InitializeComponent()

' Adicione qualquer inicialização após a chamada InitializeComponent().
nIdProcesso = nIdProc
mostrarDados()

End Sub

O que eu posso fazer para resolver este problema?

Problema nas chamadas de formulário com VB.Net por carlosfeju em 26/9/2016 22:45:06
Re: Problema nas chamadas de formulário com VB.Net por carlosfeju em 27/9/2016 15:45:48
Re: Problema nas chamadas de formulário com VB.Net por carlosfeju em 30/9/2016 17:25:27

© 2000-2001 - Forum Visual Basic - Todos os direitos Reservados - (AspBox) Moderador: José Carlos Macoratti