Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    19

    [VB6] Close all forms

    Ciao a tutti,
    ho realizzato un'applicazione in vb6 costituita da una MDIform principale e da altre form figlio ke si aprono all'azione del click su una barra dei pulsanti.
    Quello che vorrei è far si che al click di ogni pulsante (che apre una finestra) tutte le altre finestre (form figlio) che sono aperte vengano chiuse, in maniera tale ke sia sempre e solo una la finestra figlio aperta nella MDIform principale.
    ...grazie, a presto

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Così dovrebbe andare...

    codice:
    for each lform in forms
      unload lform
    next
    Controlla se chiude anche la MDI..... altrimenti metti un controllo
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    19

    [vb6] close all forms

    mi dà "errore nel caricamento di MDIform1, controllare nel file .log"...però tutto sommato fa il codice funziona...come posso fare ad eliminare quell'errore?!?...
    grazie, ciao

  4. #4
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Ciao jigen80,
    ad integrazione di quanto ti ha suggerito kalosjo, potresti fare così:
    codice:
    Public Sub ChiudiModAttivo()
        On Error GoTo ErrHandler
        
        Dim Frm As Form
        
        For Each Frm In Forms
           If Frm.Name <> "MDIFrm" And Frm.Name <> "FrmImmag" Then
                Unload Frm
                Set Frm = Nothing
            End If
        Next
        
    
    ErrHandler:
        If Err.Number <> 0 Then
            MsgBox "Errore: " & Err.Number & " " & Err.Description & "." & Chr(13) _
            & "Errore nella procedura.", vbCritical, "...."
            Err.Clear
            Exit Sub
        End If
    
    End Sub
    Come vedi in questo modo Non vengono chiusi due Frm "MDIFrm" ed il
    "FrmImmag" che nel caso specifico fa da sfondo al programma.
    La routine la richiami cosi: Call ChiudiModAttivo .
    LM

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    19
    grazie LMondi (e grazie anche a te kalosjo)
    ora funziona alla perfezione!!!
    ...come al solito siete stati "troppo" esaustivi
    grazie tante ancora....saluti

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.