Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291

    VB6 ActiveForm - Select Case

    In un programma in fase di scrittura ho 20 Frm figli.
    Vorreri evitare di scrivere per 20 volte (per ciascun Frm che viene attivato):
    codice:
    If ActiveForm Is FrmControlloX Then
      Call FrmControlloX.CmdApriControllo_Click   'Apre / Carica il Frm ed esegue il codice del modulo del Frm. 
    End If
    In effetti il codice sarebbe più compatto con un Select Case, tipo:
    codice:
     Select Case FormAttivo
                Case FrmControlloX
           Call FrmControlloX.CmdApriControllo_Click
    ....
    ....
     End Select
    Potreste aiutarmi?
    Saluti.
    LM

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    codice:
      select case activeform.name
        case "nome1"
        case "nome2"
      end select
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Grazie per avermi risposto.
    La tua soluzione l'ho già provata, senza esito positivo.
    Nel frattempo ho scritto questo codice che pare funzionare, anche se mi sembra un pò macchinoso. Perchè non gli dai uno sguardo?
    codice:
    Dim FormAttivo
    FormAttivo = Screen.ActiveForm.MDIChild
    Select Case FormAttivo
            
     Case Screen.ActiveForm Is FrmAA
         Call FrmAA.mnuApriPI_Click          'Apre la Prima pagina
    ...
    ...
    End select
    Rimango in attesa, grazie.
    LM

  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Cosa intendi "...senza esito positivo"?

    Poi una domanda:

    La funzione da chiamare ha lo stesso nome in tutti i forms?

    Se si potresti fare

    activeform.nomefunzione (che ovviamente deve essere public)
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    kalosjo, grazie al tuo suggerimento ho risolto (I Nomi dei Frm sono tutti diversi) in questo modo:

    codice:
    Dim FormAttivo
    FormAttivo = Screen.ActiveForm.Name
    
    Select Case FormAttivo
      Case "FrmAA"
         Call FrmAA.mnuApriPI_Click       'Apre la Prima pagina
    ... ...
    End Select
    Ciao.
    LM

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.