Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    [VB express 2008] Form secondari nel Form Padre

    Ciao a tutti
    Allora sto costruendo un gestionalino che poi vorrei mettere in rete gratuitamente, ho questo problema, cioe quando clicco sul menu, mi si apre il form stabilito, quello che volevo era aprirlo nel form padre, cioe tipo sito internet, la parte del menu mi resta sempre poi io cliccando ed entrando nei menu vedo il contenuto nella pagina ed automaticamentew quando clicco su un altro menu mi chiude il form precedente e mi apre quello selezionato.
    Spero di essermi spegato, e che qualcuno mi possa aiutare o indicare dove poter leggere informazioni in merito
    Grazie ancora

  2. #2
    Mi pare che tu debba creare un form padre MDI.
    Per farlo, devi impostare la proprietà del form IsMDIContainer (o qualcosa di simili) su True.

    Poi di preciso non so...
    «Sogno gente giusta che rifiuti di esser preda di facili entusiasmi e ideologie alla moda...»
    (Lucio Battisti, 1980)

  3. #3
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137
    Il form di avvio deve avere la proprietà "IsMdiContainer" impostata a true.
    I form figlio devono avere la proprietà "MdiParent" impostata al form padre ovviamente.

    Esempio:

    FormMDI è un form con IsMdiContainer impostato a True
    FormFiglio1 è un comunissimo form
    FormFiglio2 è un altro comunissimo form

    in FormMDI metti il menu, barra degli strumenti, barra di stato e quant'altro ti serve.
    Quando clicchi nella voce di menù per aprire uno dei due form figlio:

    ...ovviamente ti conviene fare una routine CloseAllChildren

    codice:
    Private Sub CloseAllChildren()
            For Each Figlio As Form In Me.MdiChildren
                Figlio.Close()
            Next
    End Sub
    codice:
            CloseAllChildren()
            FormFiglio1.MdiParent = Me
            FormFiglio1.Show()
    e per il figlio 2
    codice:
            CloseAllChildren()
            FormFiglio2.MdiParent = Me
            FormFiglio2.Show()
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

  4. #4
    Grazie ragazzi per i consigli, esatti, ma ho un problema
    Allora ho portato IsMdiContainer true , tutto ok, ma lo sfondo e diventato grigio, e vorrei sapere come modificare il colore, inoltre non ho capito come fare diventare gli altri form figli
    Grazie Mille

  5. #5
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137
    Seleziona il Form MDI, vai nelle proprietà e guarda la voce "BackColor" che è impostata su "ControlDark". Cambia il valore con il colore che più ti aggrada.

    Per quanto riguarda i form figlio, solitamente cosa fai? Richiami il form sul click nella voce di menù come segue:

    FormFiglio.Show()

    Prima di questa istruzione devi inserire un bel:

    FormFiglio.MdiParen = Me

    dove Me non è altro che il form su cui hai impostato la proprietà IsMdiContainer su True (si presuppone che il menù che richiama i form figlio sia proprio sul form padre... quindi puoi anche lasciare "Me").


    Spero di essere stato più chiaro adesso.... però mi sembri un pò a digiuno di Visual Basic .Net. Hai preso in considerazione la lettura di qualche guida? Magari di quelle gratuite che si trovano onLine? Magari qui su HTML.IT.

    Ciao ciao
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

  6. #6
    ciao e grazie oraprovo il tutto, si hai ragione sono a digiuno,anche se la guide visual basic di html l'ho letta tutta, ho ordiato il libro di microsoft visual basic 2005 express in modo da migliorare, se hai altri consigli per lo studio ti ringrazierei
    Grazie mille anocra

  7. #7
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137
    Io ho imparato studiando da MSDN, guide onLine e forum
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

  8. #8
    Perfetto allora guide le sto leggendo , sto cominciando con msdn e con il forum sto gia rompendo, bene sono contento, ma ora vorrei evidenziare i problemi riscontrati nella soluzione che mi hai posto:

    1) Seleziona il Form MDI, vai nelle proprietà e guarda la voce "BackColor" che è impostata su "ControlDark". Cambia il valore con il colore che più ti aggrada.

    No il controllo non era ControlDark, e comunque l'ho messo su bianco ma mi resta sempre grigio.

    2)Ho sistemato le dipendenze dal padre per il figlio, ma ho questi problemi:

    - il form dovrebbe poi diminuire o ingrandirsi, cioe autoridimensionarsi in base alle grandezza che ha il padre.
    - il form mi contiene la X per la chiusura ma vorrei toglierla perche poi sara gestito dal padre.

    3)Mi resta il problema che se clicco su un altro menu si dovrebbe chiudere il primo figlio e aprire il secondo ma non me lo fa anche perche ? io ho messo l'istrzione consigliata nel form padre
    Grazie per ora ancora un altra volta

  9. #9
    Utente di HTML.it L'avatar di fu510n
    Registrato dal
    Sep 2005
    Messaggi
    137
    Hai la possibilità di inviarmi il progetto?

    Che versione di Visual Studio utilizzi?


    Io attualmente sto sviluppando un gestionale così strutturato:

    Form Padre con un menu globale.
    N Form Figlio per le operazioni da effettuare (di cui alcuni condivisi ma che elaborano dati diversi)
    Database MySQL 5

    Di seguito l'immagine... non guardare i nomi per gli imballi perchè sono solo elementi di prova e io sono un burlone (hahahah spero che non esistano Scatole di Cemento e Cassette di Piombo hahahaha)




    Dal menu' FINESTRE come vedi ho attualmente aperto 7 form figlio e posso passare dall'uno all'altro senza problemi oltre ad impostarne il Layout tramite:

    codice:
    Me.LayoutMdi(MdiLayout.Cascade) 'Sovrapponi
    Me.LayoutMdi(MdiLayout.TileVertical) 'Affianca verticalmente
    Me.LayoutMdi(MdiLayout.TileHorizontal) 'Affianca Orizzontalmente
    
    'Chiudi Tutte le Finestre (Figlio)
    For Each ChildForm As Form In Me.MdiChildren
        ChildForm.Close()
    Next
    E impostando nel form padre la proprietà "MdiWindowListItem" sull'elemento di menù che dovra' mostrare le finestre aperte, ottengo l'elenco dei form figlio aperti senza dover scrivere una riga di codice.
    Fusion

    Currency Text Box (Updated: 16 Maggio 2008): http://digilander.libero.it/cmfusion/CurrencyTextBox.html

  10. #10
    Ciao e scusa il ritardo ho fatto un po di prove ma niente, allora io utilizzo visual basic 2008 express, il mio progeto e identico al tuo almeno nell'idea, per ora ho creato la splahscreen e la maschera principale come la tua, e i vari figli principali, per il discorso delle finestre, pensavo di non inserirlo perche faccia solo confusione, nel senso che metti di essere in anagrafica, dove vedi l'elenco cliente, cliccando su nuovo l'elenco clienti non lo vedi piu, chiudendo quello si riapre il form anagrafica di prima, andando in documenti per fare una fattura si chiude il form anagrafica clienti e viene sostituito con form fatture, e sotto non avro niente, perche l'anagrafica non mi servira, percio penso sia piu semplice, e ho un menu in meno.
    Inoltre la sisntassi che mi hai dato

    Me.LayoutMdi(MdiLayout.Cascade) 'Sovrapponi
    Me.LayoutMdi(MdiLayout.TileVertical) 'Affianca verticalmente
    Me.LayoutMdi(MdiLayout.TileHorizontal) 'Affianca Orizzontalmente

    'Chiudi Tutte le Finestre (Figlio)
    For Each ChildForm As Form In Me.MdiChildren
    ChildForm.Close()
    Next

    a me dice che Me "sintassi errata" idem se metto il nome del form.

    Ps come favvio ad inserire l'mmagine per mostrartela?
    Grazie ancora

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.