Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489

    form in dll

    ciao a tutti!

    per un programma di disegno sto programmando un add-on.

    sostanzialmente é una dll che viene caricata all avvio del programma.

    dato che ho bisogno di un form nella classe ho fatto cosi:



    codice:
    dim myfrm as new form1
    myfrm.ShowDialog()
    il form si apre e la classe scrive tutti i valori neccessari nei vari campi. finq ui tutto bene.

    su questo form peró cé un pulsante, e quando questo pulsante viene premuto vorrei passare i valori di una listbox alla classe ed avviare una funzione.

    per poter fare cio (in teoria) devo implementare questo codice:

    codice:
    dim myclass as new class1
    pero questo fa bloccare l applicazione perche si genera un loop infinito.


    sostanzialmetne quello che voglio fare é questo:

    1-programma carica dll,
    2-dll analizza alcune cose, genera dei valori, apre il form1, scrive i valori in un dropdown
    3-utente sceglie quali valori copiare dal dropdown a una listbox
    4-una volta copiati i valori nella listbox l utente preme il pulsante "Elabora"
    5-il form trasforma tutti gli elementi della listbox in un array
    6-il form esegue una sub nella dll e si chiude immediatamente.
    7-la dll esegue la sub per qualche minuto.

    ho fatto tutto, TRANNE il punto 6.
    non riesco a avviare la sub nella dll "madre"...

    qualche dritta?

    grazie a chiunque voglia aiutarmi.

    ciao

    igor

  2. #2
    Se non ho capito male tu vorresti interagire con la classe che ha aperto il form, giusto?

    Credo dovresti cambiare approccio e considerare il form1 solo una finestra addetta alla raccolta dei dati, niente più. Prima di chiamare il form passa i dati da caricare attraverso delle proprietà:
    codice:
    dim myfrm as new form1
    myfrm.prop1 = "aaa"
    myfrm.prop2 = 15
    ...
    chiama ShowDialog e controlla il valore di ritorno:
    codice:
    If myfrm.ShowDialog() = Windows.Forms.DialogResult.OK Then
        'leggi le proprietà da myfrm e processa i dati
    End If
    Per avere un corretto valore di ritorno devi impostare alcune cose nel form1 e cioè:
    • impostare le proprietà AcceptButton e CancelButton del form, associandole ai rispettivi pulsanti che hai creato per confermare o annullare la procedura
    • impostare la proprietà DialogResult dei due pulsanti rispettivamente con i valori Ok e Cancel
    Chi non cerca trova.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    489
    grazie mille!

    funziona perfettamente!

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.