Wskazówki: tworzenie formularza MDI ze scalaniem menu i formantami ToolStrip

System.Windows.Forms Przestrzeń nazw obsługuje wiele aplikacji interfejsu dokumentu (MDI), a kontrolka MenuStrip obsługuje scalanie menu. Formularze MDI mogą również ToolStrip kontrolować.

W tym przewodniku pokazano, jak używać ToolStripPanel kontrolek z formularzem MDI. Formularz obsługuje również scalanie menu z menu podrzędnymi. W tym przewodniku przedstawiono następujące zadania:

  • Tworzenie projektu formularzy systemu Windows.

  • Tworzenie menu głównego formularza. Rzeczywista nazwa menu będzie się różnić.

  • Dodawanie kontrolki ToolStripPanel do przybornika.

  • Tworzenie formularza podrzędnego.

  • Rozmieszczanie ToolStripPanel kontrolek według kolejności z.

Po zakończeniu będziesz mieć formularz MDI, który obsługuje scalanie menu i kontrolki wymienne ToolStrip .

Aby skopiować kod w tym temacie jako pojedynczą listę, zobacz How to: Create an MDI Form with Menu Scale and ToolStrip Controls (Instrukcje: tworzenie formularza MDI z scalanie menu i kontrolki ToolStrip).

Wymagania wstępne

Aby ukończyć ten przewodnik, potrzebny będzie program Visual Studio.

Tworzenie projektu

  1. W programie Visual Studio utwórz projekt aplikacji systemu Windows o nazwie MdiForm (Plik>nowy>projekt>Visual C# lub Visual Basic>Classic Desktop>Windows Forms Application).

  2. W Projektant formularzy systemu Windows wybierz formularz.

  3. W okno Właściwości ustaw wartość elementu IsMdiContainertruena .

Tworzenie menu głównego

Nadrzędny formularz MDI zawiera menu główne. Menu główne zawiera jeden element menu o nazwie Okno. Za pomocą elementu menu Okno można tworzyć formularze podrzędne. Elementy menu z formularzy podrzędnych są scalane z menu głównym.

  1. Z przybornika przeciągnij kontrolkę MenuStrip na formularz.

  2. Dodaj element ToolStripMenuItem do kontrolki i nadaj MenuStrip jej nazwę Okno.

  3. Wybierz kontrolkę MenuStrip .

  4. W okno Właściwości ustaw wartość MdiWindowListItem właściwości na ToolStripMenuItem1.

  5. Dodaj element podrzędny do elementu menu Okno , a następnie nadaj jej nazwę Nowy.

  6. W okno Właściwości kliknij pozycję Zdarzenia.

  7. Click Kliknij dwukrotnie zdarzenie.

    Projektant formularzy systemu Windows generuje program obsługi zdarzeń dla Click zdarzenia.

  8. Wstaw następujący kod do programu obsługi zdarzeń.

    // This method creates a new ChildForm instance
    // and attaches it to the MDI parent form.
    private void newToolStripMenuItem_Click(object sender, EventArgs e)
    {
        ChildForm f = new ChildForm();
        f.MdiParent = this;
        f.Text = "Form - " + this.MdiChildren.Length.ToString();
        f.Show();
    }
    
    ' This method creates a new ChildForm instance 
    ' and attaches it to the MDI parent form.
     Private Sub newToolStripMenuItem_Click( _
     ByVal sender As Object, _
     ByVal e As EventArgs) _
     Handles newToolStripMenuItem.Click
    
         Dim f As New ChildForm()
         f.MdiParent = Me
         f.Text = "Form - " + Me.MdiChildren.Length.ToString()
         f.Show()
    
     End Sub
    

Dodawanie kontrolki ToolStripPanel do przybornika

Jeśli używasz MenuStrip kontrolek z formularzem MDI, musisz mieć kontrolkę ToolStripPanel . Musisz dodać kontrolkę ToolStripPanel do przybornika, aby skompilować formularz MDI w Projektant formularzy systemu Windows.

  1. Otwórz przybornik, a następnie kliknij kartę Wszystkie formularze systemu Windows, aby wyświetlić dostępne kontrolki Windows Forms.

  2. Kliknij prawym przyciskiem myszy, aby otworzyć menu skrótów, a następnie wybierz polecenie Wybierz elementy.

  3. W oknie dialogowym Wybieranie elementów przybornika przewiń w dół kolumnę Nazwa do momentu znalezienia elementu ToolStripPanel.

  4. Zaznacz pole wyboru według ToolStripPanel, a następnie kliknij przycisk OK.

    Kontrolka zostanie wyświetlona ToolStripPanel w przyborniku.

Tworzenie formularza podrzędnego

W tej procedurze zdefiniujesz oddzielną klasę formularza podrzędnego, która ma własną MenuStrip kontrolę. Elementy menu dla tego formularza są scalane z elementami formularza nadrzędnego.

  1. Dodaj nowy formularz o nazwie ChildForm do projektu.

    Aby uzyskać więcej informacji, zobacz How to: Add Windows Forms to a Project (Instrukcje: dodawanie formularzy systemu Windows do projektu).

  2. Z przybornika przeciągnij kontrolkę MenuStrip do formularza podrzędnego.

  3. MenuStrip Kliknij akcje projektanta kontrolki (Small black arrow), a następnie wybierz pozycję Edytuj elementy.

  4. W oknie dialogowym Edytor kolekcji elementów dodaj nową ToolStripMenuItem nazwę ChildMenuItem do menu podrzędnego.

    Aby uzyskać więcej informacji, zobacz ToolStrip Items Collection Editor (Edytor kolekcji elementów ToolStrip).

Testowanie formularza

  1. Naciśnij klawisz F5 , aby skompilować i uruchomić formularz.

  2. Kliknij element menu Okno, aby otworzyć menu, a następnie kliknij pozycję Nowy.

    Nowy formularz podrzędny jest tworzony w obszarze klienta MDI formularza. Menu formularza podrzędnego jest scalane z menu głównym.

  3. Zamknij formularz podrzędny.

    Menu formularza podrzędnego jest usuwane z menu głównego.

  4. Kliknij przycisk Nowy kilka razy.

    Formularze podrzędne są automatycznie wyświetlane w elemencie menu Okno , ponieważ MenuStrip właściwość kontrolki jest przypisana MdiWindowListItem .

Dodawanie obsługi elementu ToolStrip

W tej procedurze dodasz cztery ToolStrip kontrolki do formularza nadrzędnego MDI. Każda kontrolka ToolStrip jest dodawana wewnątrz ToolStripPanel kontrolki, która jest zadokowana do krawędzi formularza.

  1. Z przybornika przeciągnij kontrolkę ToolStripPanel na formularz.

  2. Po wybraniu kontrolki ToolStripPanel kliknij dwukrotnie kontrolkę ToolStrip w przyborniku.

    Kontrolka ToolStrip jest tworzona w kontrolce ToolStripPanel .

  3. Wybierz kontrolkę ToolStripPanel .

  4. W okno Właściwości zmień wartość właściwości kontrolki Dock na Left.

    Kontrolka ToolStripPanel zadokuje się po lewej stronie formularza pod menu głównym. Rozmiar obszaru klienta MDI zmienia się tak, aby pasował do kontrolki ToolStripPanel .

  5. Powtórz kroki od 1 do 4.

    Zadokuj nową ToolStripPanel kontrolkę na początku formularza.

    Kontrolka ToolStripPanel jest zadokowana pod menu głównym, ale po prawej stronie pierwszej ToolStripPanel kontrolki. Ten krok ilustruje znaczenie z-order w prawidłowych kontrolkach pozycjonowania ToolStripPanel .

  6. Powtórz kroki od 1 do 4, aby uzyskać więcej ToolStripPanel kontrolek.

    Zadokuj nowe ToolStripPanel kontrolki po prawej i dolnej części formularza.

Rozmieszczanie kontrolek ToolStripPanel według kolejności Z

Położenie zadokowanej ToolStripPanel kontrolki na formularzu MDI jest określane przez położenie kontrolki w kolejności z. Możesz łatwo rozmieścić kolejność z kontrolek w oknie Konspektu dokumentu.

  1. W menu Widok kliknij pozycję Inne okna, a następnie kliknij pozycję Konspekt dokumentu.

    Rozmieszczenie mechanizmów kontrolnych ToolStripPanel z poprzedniej procedury jest niezgodne. Dzieje się tak, ponieważ kolejność z jest niepoprawna. Użyj okna Konspektu dokumentu, aby zmienić kolejność z kontrolek.

  2. W oknie Konspektu dokumentu wybierz pozycję ToolStripPanel4.

  3. Kliknij przycisk strzałki w dół wielokrotnie, aż element ToolStripPanel4 znajduje się w dolnej części listy.

    Kontrolka ToolStripPanel4 jest zadokowana do dołu formularza pod innymi kontrolkami.

  4. Wybierz pozycję ToolStripPanel2.

  5. Kliknij przycisk strzałki w dół jeden raz, aby umieścić kontrolkę trzecią na liście.

    Kontrolka ToolStripPanel2 jest zadokowana do góry formularza pod menu głównym i nad innymi kontrolkami.

  6. Wybierz różne kontrolki w oknie Konspektu dokumentu i przenieś je do różnych pozycji w kolejności z. Zwróć uwagę na wpływ kolejności z na umieszczanie zadokowanych kontrolek. Użyj klawiszy CTRL-Z lub Cofnij w menu Edycja , aby cofnąć zmiany.

Punkt kontrolny — testowanie formularza

  1. Naciśnij klawisz F5 , aby skompilować i uruchomić formularz.

  2. Kliknij uchwyt kontrolki ToolStrip i przeciągnij kontrolkę do różnych pozycji w formularzu.

    Kontrolkę ToolStrip można przeciągnąć z jednej ToolStripPanel kontrolki do innej.

Następne kroki

W tym przewodniku utworzono formularz nadrzędny MDI z kontrolkami ToolStrip i scalania menu. Rodzinę ToolStrip kontrolek można używać do wielu innych celów:

Zobacz też