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

    [VB.NET] Accedere alla classe

    Come da immagine sotto. Ho la variabile frm che ricevo come parametro in una funzione, devo accedere a test.form1 (che potrebbe anche avere un nome diverso).
    Non so come fare ??? frm.test.form1 non funziona.



    Grazie a tutti

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466

    Re: [VB.NET] Accedere alla classe

    Originariamente inviato da pippo472
    Come da immagine sotto. Ho la variabile frm che ricevo come parametro in una funzione, devo accedere a test.form1 (che potrebbe anche avere un nome diverso).
    Non so come fare ??? frm.test.form1 non funziona.
    Il primo passo è quello di non andare a caso.

    Il secondo è quello di comprendere bene ciò che stai facendo in base al codice che scrivi, sia nei file sorgente che nelle finestre di debugging.

    La variabile frm di cui parli è probabilmente un riferimento ad un oggetto di tipo Test.Form1, quindi è sufficiente utilizzare tale variabile per accedere a tutte le proprietà dell'oggetto; fare riferimento a Test.Form1 significa ispezionare la classe, non l'oggetto su cui stai lavorando.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Ti ringrazio moltissimo.

    Mi spiego meglio

    richiamo la funzione xxx(Me) Me è il form

    sub xxx(frm as object)

    come faccio da frm risalire a quello che contiene?
    Probabilmente la mia domanda è stupida ma richiamo questa funzione da form diversi e devo vedere quello che contengono

    Grazie

  4. #4
    Intanto evita il late binding dichiarando la tua sub come
    codice:
    sub xxx(frm as System.Windows.Forms.Form)
    (renderà il tuo codice leggermente più veloce e inoltre digitando frm. nell'editor di codice verranno visualizzate tutte le proprietà e i metodi disponibili). Quindi per vedere il contenuto del form esamina la proprietà Controls del parametro frm; si tratta di una collection che contiene tutti i controlli contenuti nel form.
    Amaro C++, il gusto pieno dell'undefined behavior.

  5. #5
    Purtroppo esaminando Controls trovo solamente il Tabdialog mentre nel frm -> test.form1 trovo tutti i controlli.
    Mi chiedo: se vs2005 può esplorare tutto il contenuto di frm come mai io no? probabilmente è solo perche non sono capace.

    grazie

  6. #6
    Tutti gli altri controlli sono "figli" del controllo TabDialog. Guarda anche all'interno della sua proprietà Controls.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.