La creazione all’Interno del Modulo

Sono nuovo di Visual Studio 2010 e sto pensando di creare un sistema di Cronometraggio. Io voglio solo chiedere come posso creare un form che compongono i 2 moduli in esso. Per esempio, se voglio fare clic su un pulsante si aprirà una nuova forma all’interno di un modulo. Si prega di aiutare. Grazie

InformationsquelleAutor sean | 2011-06-24



5 Replies
  1. 7
    Form formA = new Form();
    formA.IsMdiContainer = true;
    
    Form formB = new Form();
    formB.MdiParent = formA;
    formB.Show();
  2. 3

    Si potrebbe creare un modulo personalizzato, rimuovere tutti i bordi e barre degli strumenti per farlo sembrare il più vicino ad un pannello possibile. Poi fare in modo che il nuovo modulo personalizzato di un MdiContainer /MDI-pannello mostra le forme in cui il pannello, qualcosa di simile al codice riportato di seguito farà il lavoro

    Mdi-Pannello di definizione:

    public class MdiClientPanel : Pannello
    {
    Forma privata mdiForm;
    privato MdiClient ctlClient = new MdiClient();

    public MdiClientPanel()
    {
        base.Controls.Add(this.ctlClient);
    }
    
    public Form MdiForm
    {
        get
        {
            if (this.mdiForm == null)
            {
                this.mdiForm = new Form();
                ///set the hidden ctlClient field which is used to determine if the form is an MDI form
                System.Reflection.FieldInfo field = typeof(Form).GetField("ctlClient", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
                field.SetValue(this.mdiForm, this.ctlClient);
            }
            return this.mdiForm;
        }
    }

    }

    Uso:

    ///mdiChildForm is the form that should be showed in the panel
    ///mdiClientPanel is an instance of the MdiClientPanel
    myMdiChildForm.MdiParent = mdiClientPanel1.MdiForm;
  3. 2

    Penso, questo è un modo molto semplice:

        Form1 form= new Form1 ();
        form.TopLevel = false;
        this.Controls.Add(form);
        form.Show();

Lascia un commento