Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [VB.NET] Richiamare una funzione con activeform

    Ho programmato un pò in VB6, sto iniziando ora ad usare VB2008.

    Non riesco a richiamare una funzione (Nuovo()) mediante la proprietà ActiveForm, cosa assolutamente semplice in VB6

    Dim CurrentForm As Form = TryCast(ActiveForm, Form)
    CurrentForm.Nuovo()
    la seconda riga mi dà l'erroroe:

    Errore 90 'Nuovo' non è un membro di 'System.Windows.Forms.Form'.
    Chi mi può aiutare a capire?
    Grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    111
    Ma Nuovo() fa parte della form attiva?

    E poi prova a scrivere
    TryCast(ActiveForm, Form1)
    Logicamente, se il nome che ha Nuovo() è form1

  3. #3
    Grazie Stibbert per la cortesia

    Si, la Sub Nuovo() è una routine del form attivo.
    Chiarisco meglio il problema:
    ho un form principale MDIForm (form Menù ) con una toolbar (tasti Nuovo, Cerca, Salva, ecc.);
    ho altri form, secondari (già MDIChild ora MDIParent in VB9) che usano i tasti posti nella toolbar del form Menù; nel form Menù ho una routine che dopo aver individuato il tasto premuto, richiama la funzione specifica (es. 'Nuovo) che è all'interno del form secondario attivo.
    Il problema è proprio questo, anche se con la proprietà ActiveForm posso individuare il form client, mentre nel VB6 mi bastava scrivere Screen.ActiveForm.Nuovo, ora con il VB9 tutto questo non è più valido.
    Il tuo suggerimento non mi sembra applicabile perché bisogna richiamare una sub che è ogni volta in un form diverso non conosciuto a priori).
    Grazie cmq. ciao

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 © 2026 vBulletin Solutions, Inc. All rights reserved.