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

    [VB.NET] creazione form a runtime

    Salve
    in questo modo riesco a creare a runtime un form chiamato "formGuida"

    Dim frm As Form = New formGuida
    frm.MdiParent = Me
    frm.Show()

    Siccome utilizzo questo metodo per lanciare form da un menù mi domandavo come posso parametrizzare il nome passando come valore ad esempio:

    Dim frm As Form = New "NOMEFORM"
    frm.MdiParent = Me
    frm.Show()

    Ho provato passando il nome come stringa ma non funziona
    qualcuno sa come poter ovviare.
    Grazie

  2. #2
    Prova a dare una occhiata qui

  3. #3
    ho provato ma mi restituisce il seguente errore:

    Dim ProjAndForm = "prGuidaNet.formFaq" '' String Of Your Project And Form Name
    Dim objType As Type = Type.[GetType](ProjAndForm) '' Get Type Of your string
    Dim objForm As Control = DirectCast(Activator.CreateInstance(objType), Control) '' Convert Type to Control and now you can use this Control
    objForm.Show()

    nella riga DIM objform as .....
    Eccezione non gestita di tipo 'System.ArgumentNullException' in mscorlib.dll
    Ulteriori informazioni: Il valore non può essere null.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    87
    E allora, mettiamo caso che hai 2 form, form1 e form2.

    Se da form1 vuoi chiamare form2 fai:

    Form2.show o
    Form2.showdiaog

    a secondo di ciò che vuoi ottenere

    Se parliamo di form MDI, dopo aver fatto la form padre, per chiamare la form figlio, se ad esempio si chiama form2, fai:

    Form2.MdiParent = Me
    Form2.Show()

  5. #5
    E' un caso che non ho mai sviluppato, quindi non ti so dire più di tanto.

    "prGuidaNet.formFaq" non esiste, e quindi a lume di naso mi pare normale che objType ritorni Nothing... però nei commenti del link qualcuno ha scritto che il codice funziona, quindi potrei dire una cavolata.

    Se nel codice a "formFaq" sostituisci il nome del form principale (esistente), il codice sicuramente non dà nothing.

    Ma quello che onestamente non capisco è che cosa ti importa di creare a runtime un form che prenda il "Name" da una stringa.

    Cioè, voglio dire, quale è il fine ultimo della cosa? Tanto quello che l' utente finale vede non è il "Form.Name", ma il "Form.Text"... e quello si che lo imposti da stringa.

    Ultima modifica di eziogsv; 10-04-2015 a 21:22

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.