none
Como desaparecer item da ListBox que está no Form1 quando eu fechar o Form2? RRS feed

  • Pergunta

  • Olá mais uma vez, gostaria de resolver esse problema, veja o código.
    Quando eu abro o form2 com o botão:

    Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button1.Click
      Form1.ListBox1.Items.Add("Form2 Aberto")
           Form2.Show()
        End Sub
    Tentei esse código no Form2, mas não acontece nada:
     Private Sub Form_QueryUnload(ByVal Cancel As Integer, ByVal UnloadMode As Integer)
            If UnloadMode <> 1 Then
                Form1.ListBox1.Items.Clear()
            End If
        End Sub
    Caso não tenham entendido, a ListBox no Form1 será para visualizar o form que está aberto. Como o Form2. Onde será o botão que abre o Form2, que irá enviar o código para a ListBox do Form1. Tudo isso está ok. Mas o problema é que quando fecho o Form2 a informação que aparece na ListBox do Form1 não  desaparece. Gostaria do código para desaparecer a informação do ListBox quando fechar o Form2.

    E gostaria também que desapareça a informação específica, pois posso adicionar outros forms para aparecerem no ListBox do Form1.

    Agradeço pela atenção.
    segunda-feira, 8 de outubro de 2012 13:16

Respostas

  • No evento click do botão, ponhe o seguinte código:

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click ListBox1.Items.Add("O Form2 Está Aberto") Form2.Show() End Sub

    E No evento Disposed do form2 ponha o seguinte:

    Private Sub Form2_Disposed(sender As Object, e As System.EventArgs) Handles Me.Disposed
            Form1.ListBox1.Items.Clear()
        End Sub
    Espero ajudar

    segunda-feira, 8 de outubro de 2012 17:20
  • Usa o evento FormClosing.

    Private Sub Form2_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
        Form1.ListBox1.Items.Remove("Form2 Aberto")
    End Sub
    
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Form1.ListBox1.Items.Add("Form2 Aberto")
    End Sub
    terça-feira, 9 de outubro de 2012 16:19

Todas as Respostas

  • No evento click do botão, ponhe o seguinte código:

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click ListBox1.Items.Add("O Form2 Está Aberto") Form2.Show() End Sub

    E No evento Disposed do form2 ponha o seguinte:

    Private Sub Form2_Disposed(sender As Object, e As System.EventArgs) Handles Me.Disposed
            Form1.ListBox1.Items.Clear()
        End Sub
    Espero ajudar

    segunda-feira, 8 de outubro de 2012 17:20
  • Usa o evento FormClosing.

    Private Sub Form2_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
        Form1.ListBox1.Items.Remove("Form2 Aberto")
    End Sub
    
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Form1.ListBox1.Items.Add("Form2 Aberto")
    End Sub
    terça-feira, 9 de outubro de 2012 16:19