Bagikan melalui


Cara: Membuat formulir anak MDI

Bentuk anak MDI adalah elemen penting dari aplikasi Antarmuka Beberapa Dokumen (MDI), karena formulir ini adalah pusat interaksi pengguna.

Dalam prosedur berikut, Anda akan menggunakan Visual Studio untuk membuat formulir anak MDI yang menampilkan RichTextBox kontrol, mirip dengan sebagian besar aplikasi pemrosesan kata. Dengan mengganti System.Windows.Forms kontrol dengan kontrol lain, seperti DataGridView kontrol, atau campuran kontrol, Anda dapat membuat jendela anak MDI (dan, dengan ekstensi, aplikasi MDI) dengan berbagai kemungkinan.

Membuat formulir turunan MDI

  1. Buat proyek aplikasi Formulir Windows baru di Visual Studio. Di jendela Properti untuk formulir, atur propertinya IsMdiContainer ke true dan propertinya WindowsState ke Maximized.

    Ini menunjuk formulir sebagai kontainer MDI untuk jendela anak.

  2. ToolboxDari , seret MenuStrip kontrol ke formulir. Atur propertinya Text ke File.

  3. Klik elipsis (...) di samping properti Item , dan klik Tambahkan untuk menambahkan dua item menu strip alat anak. Atur Text properti untuk item ini ke Baru dan Jendela.

  4. Di Penjelajah Solusi, klik kanan proyek Anda dan pilih Tambahkan>Item baru.

  5. Dalam kotak dialog Tambahkan Item Baru, pilih Formulir Windows (di Visual Basic atau di Visual C#) atau aplikasi Formulir Windows (.NET) (di Visual C++) dari panel Templat. Dalam kotak Nama , beri nama formulir Form2. Pilih Buka untuk menambahkan formulir ke proyek.

    Catatan

    Formulir anak MDI yang Anda buat dalam langkah ini adalah Formulir Windows standar. Dengan demikian, ia memiliki Opacity properti, yang memungkinkan Anda mengontrol transparansi formulir. Namun, Opacity properti ini dirancang untuk jendela tingkat atas. Jangan gunakan dengan bentuk anak MDI, karena masalah lukisan dapat terjadi.

    Formulir ini akan menjadi templat untuk formulir anak MDI Anda.

    Perancang Formulir Windows terbuka, menampilkan Formulir2.

  6. Dari Kotak Alat, seret kontrol RichTextBox ke formulir.

  7. Di jendela Properti, atur properti ke Anchor Atas, Kiri, dan Dock properti ke Isi.

    Hal ini menyebabkan RichTextBox kontrol mengisi sepenuhnya area formulir anak MDI, bahkan ketika formulir diubah ukurannya.

  8. Klik dua kali item menu Baru untuk membuat Click penanganan aktivitas untuk item tersebut.

  9. Sisipkan kode yang mirip dengan yang berikut ini untuk membuat formulir anak MDI baru saat pengguna mengklik item menu Baru .

    Catatan

    Dalam contoh berikut, penanganan aktivitas menangani Click peristiwa untuk MenuItem2. Ketahuilah bahwa, tergantung pada spesifikasi arsitektur aplikasi Anda, item menu Baru Anda mungkin MenuItem2bukan .

    Protected Sub MDIChildNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem2.Click
       Dim NewMDIChild As New Form2()
       'Set the Parent Form of the Child window.
       NewMDIChild.MdiParent = Me
       'Display the new form.
       NewMDIChild.Show()
    End Sub
    
    protected void MDIChildNew_Click(object sender, System.EventArgs e){
       Form2 newMDIChild = new Form2();
       // Set the Parent Form of the Child window.
       newMDIChild.MdiParent = this;
       // Display the new form.
       newMDIChild.Show();
    }
    
    private:
       void menuItem2_Click(System::Object ^ sender,
          System::EventArgs ^ e)
       {
          Form2^ newMDIChild = gcnew Form2();
          // Set the Parent Form of the Child window.
          newMDIChild->MdiParent = this;
          // Display the new form.
          newMDIChild->Show();
       }
    

    Di C++, tambahkan direktif berikut #include di bagian atas Form1.h:

    #include "Form2.h"
    
  10. Di daftar drop-down di bagian atas jendela Properti , pilih strip menu yang sesuai dengan strip menu File dan atur MdiWindowListItem properti ke Jendela ToolStripMenuItem.

    Ini memungkinkan menu Jendela untuk mempertahankan daftar jendela anak MDI yang terbuka dengan tanda centang di samping jendela anak aktif.

  11. Tekan F5 untuk menjalankan aplikasi. Dengan memilih Baru dari menu File , Anda dapat membuat formulir anak MDI baru, yang dilacak di item menu Jendela .

    Catatan

    Ketika formulir anak MDI memiliki MainMenu komponen (dengan, biasanya, struktur menu item menu) dan dibuka dalam formulir induk MDI yang memiliki MainMenu komponen (dengan, biasanya, struktur menu item menu), item menu akan digabungkan secara otomatis jika Anda telah mengatur MergeType properti (dan opsional, MergeOrder properti ). Atur MergeType properti komponen MainMenu dan semua item menu formulir anak ke MergeItems. Selain itu, atur MergeOrder properti sehingga item menu dari kedua menu muncul dalam urutan yang diinginkan. Selain itu, perlu diingat bahwa ketika Anda menutup formulir induk MDI, setiap bentuk anak MDI menimbulkan Closing peristiwa sebelum Closing peristiwa untuk induk MDI dinaikkan. Membatalkan acara anak Closing MDI tidak akan mencegah peristiwa induk Closing MDI dinaikkan; namun, CancelEventArgs argumen untuk peristiwa induk Closing MDI sekarang akan diatur ke true. Anda dapat memaksa induk MDI dan semua formulir anak MDI untuk ditutup dengan mengatur CancelEventArgs argumen ke false.

Baca juga