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

    [VB] Creazione "dinamica" di oggetti

    Ciao a tutti!!
    Ecco il mio problema:

    Devo creare delle checkbox durante l'esecuzione del programma, non sapendo a priori quante. Non posso quindi crearle a Design Time, ma devo poterlo fare in maniera diciamo dinamica.

    E' possibile? Sarà senz'altro una cavolata, ma ci sto diventando matto!!

    Grazie!!!!

    Ciao
    Simone

  2. #2

    Ecco una soluzione (penso l'unica...)

    Innanzitutto inserisci nel form un checkbox (a cui io ho dato nome Chk_Settore)
    e inserisci nella proprietà index di tale checkbox il valore 0
    Questo sarà il checkbox dal quale creerai tutti gli altri (purtroppo VB6 non
    permette ancora l'utilizzo di strumenti come l'ereditarietà, ecc... quindi l'unico
    sistema per creare oggetti dinamici è quello di predisporre un Array di componenti
    inserendo nella form solo l'elemento 0, e procedere poi con la creazione dinamica
    mediante il metodo Load di tutti gli altri).
    Per ulteriori informazioni consulta l'help di VB sul metodo Load

    Dopo aver inserito tale checkbox nella form copia il codice seguente nell'evento Form_Load()

    Private Sub Form_Load()
    Dim x As Integer
    'qui inserisci il numero di check che vuoi creare
    x = 10
    For i = 1 To x
    'creo il checkbox i-esimo
    Load Chk_Settore(i)
    'ne imposto alcuni valori di partenza
    Chk_Settore(i).Top = Chk_Settore(0).Top + (i * (Chk_Settore(0).Height))
    Chk_Settore(i).Caption = "Settore" & Str(i)
    Chk_Settore(i).Visible = True
    Next i
    End Sub

    Ora esegui l'applicazione.
    Ciao.
    :quipy:
    lupusinfabula

    Programmatore VB, ASP, Delphi.

  3. #3
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    QUI c'e' una delle tante discussioni aperte in merito.
    Ciao.
    ...and I miss you...like the deserts miss the rain...

  4. #4

    grazie

    scusate il ritardo nel ringraziarvi ma mi sono trasferito e solo oggi sono riuscito a riattivare la connessione ad internet.

    Ci sono riuscito!! Però ora ho un altro problema:
    devo "scaricare" (unload) tutte le checkbox che ho caricato;
    cosa ho fatto:
    un bel ciclo for al cui interno faccio l'unload della check box i-esima (esattamente com sopra per la load).
    Funziona tutto bene se questo codice lo metto nella funzione _Click di un Bottone, se però lo metto nella _Click di una ComboBox mi da un errore del tipo: "impossibile scaricare in questo contesto"

    Cosa significa? Perchè in quel punto non funziona?

    Aiutatemi, vi prego!!!!

    Ciao
    Simone

  5. #5

    Bastano i prodigi che tu sei, contano i sapori che mi dai
    Io ti giro intorno e ingoio fremiti,io ti giro intorno senza limiti
    Voglio la via più facile per avere quiete complice, voglio te dentro me per farcela

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