Jump to content
carlosfeju

[Resolvido] Problema nas chamadas de formulário com VB.Net

Recommended Posts

carlosfeju

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?

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.