carlosfeju Posted September 30, 2016 at 09:00 AM Report #599247 Posted September 30, 2016 at 09:00 AM 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?
carlosfeju Posted September 30, 2016 at 08:28 PM Author Report #599257 Posted September 30, 2016 at 08:28 PM Pessoal consegui a solução em http://www.devmedia.com.br/criando-um-form-mdi-ou-mdi-form-e-um-menu-no-visual-basic-net/22278
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now