Nasıl yapılır: MDI alt formları oluşturma
MDI alt formları, Çok Belgeli Arabirim (MDI) uygulamalarının temel bir öğesidir, bu formlar kullanıcı etkileşiminin merkezidir.
Aşağıdaki yordamda, çoğu sözcük işleme uygulamasına benzer bir denetim görüntüleyen bir RichTextBox MDI alt formu oluşturmak için Visual Studio'yu kullanacaksınız. Denetimi, denetim gibi DataGridView diğer denetimlerle veya denetimlerin bir karışımıyla değiştirerekSystem.Windows.Forms, çeşitli olasılıklarla MDI alt pencereleri (ve uzantıya göre MDI uygulamaları) oluşturabilirsiniz.
MDI alt formları oluşturma
Visual Studio'da yeni bir Windows Forms uygulama projesi oluşturun. Formun Özellikler penceresinde, özelliğini
true
olarak veWindowsState
özelliğini olarakMaximized
ayarlayınIsMdiContainer.Bu, formu alt pencereler için bir MDI kapsayıcısı olarak gösterir.
içinden
Toolbox
, forma bir MenuStrip denetim sürükleyin.Text
Özelliğini Dosya olarak ayarlayın.Items özelliğinin yanındaki üç noktaya (...) tıklayın ve iki alt araç şeridi menü öğesi eklemek için Ekle'ye tıklayın.
Text
Bu öğelerin özelliğini Yeni ve Pencere olarak ayarlayın.Çözüm Gezgini'de projeye sağ tıklayın ve ardından Yeni Öğe Ekle'yi>seçin.
Yeni Öğe Ekle iletişim kutusunda, Şablonlar bölmesinden Windows Formu (Visual Basic'te veya Visual C#'da) veya Windows Forms Uygulaması'nı (.NET'te) (Visual C++'da) seçin. Ad kutusunda formu Form2 olarak adlandırın. Formu projeye eklemek için Aç'ı seçin.
Dekont
Bu adımda oluşturduğunuz MDI alt formu standart bir Windows Formudur. Bu nedenle, formun saydamlığını denetlemenizi sağlayan bir Opacity özelliği vardır. Ancak, Opacity özellik üst düzey pencereler için tasarlanmıştır. Tablo sorunları olabileceği için bunu MDI alt formlarıyla kullanmayın.
Bu form, MDI alt formlarınızın şablonu olacaktır.
Windows Forms Tasarım Aracı açılır ve Form2 görüntülenir.
Araç Kutusu'ndan forma bir RichTextBox denetimi sürükleyin.
Özellikler penceresinde, özelliği Üst, Sol ve
Dock
özelliği Dolgu olarak ayarlayınAnchor
.Bu, form yeniden boyutlandırıldığında bile denetimin MDI alt formunun alanını tamamen doldurmasına neden olur RichTextBox .
Yeni menü öğesine çift tıklayarak bunun için bir Click olay işleyicisi oluşturun.
Kullanıcı Yeni menü öğesine tıkladığında yeni bir MDI alt formu oluşturmak için aşağıdakine benzer bir kod ekleyin.
Dekont
Aşağıdaki örnekte, olay işleyicisi için
MenuItem2
olayını işlerClick. Uygulama mimarinizin özelliklerine bağlı olarak Yeni menü öğenizin olmayabileceğiniMenuItem2
unutmayın.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(); }
C++'ta, Form1.h'nin en üstüne aşağıdaki
#include
yönergeyi ekleyin:#include "Form2.h"
Özellikler penceresinin en üstündeki açılan listede, Dosya menü şeridine karşılık gelen menü şeridini seçin ve özelliğini Pencere ToolStripMenuItemolarak ayarlayınMdiWindowListItem.
Bu, Pencere menüsünün etkin alt pencerenin yanında onay işareti olan açık MDI alt pencerelerinin listesini tutmasını sağlar.
Uygulamayı çalıştırmak için F5'e basın. Dosya menüsünden Yeni'yi seçerek, Pencere menü öğesinde izlenen yeni MDI alt formları oluşturabilirsiniz.
Dekont
MDI alt formunun bir MainMenu bileşeni olduğunda (genellikle menü öğelerinin menü yapısıyla) ve bileşeni olan bir MainMenu MDI üst formu içinde açıldığında (genellikle menü öğelerinin menü yapısıyla), özelliği ayarladıysanız MergeType (ve isteğe bağlı olarak MergeOrder özelliği) menü öğeleri otomatik olarak birleştirilir. MergeType Hem bileşenlerin hem de MainMenu alt formun tüm menü öğelerinin özelliğini olarak MergeItemsayarlayın. Ayrıca, her iki menüdeki menü öğelerinin istenen sırada görünmesi için özelliğini ayarlayın MergeOrder . Ayrıca, bir MDI üst formunu kapattığınızda, MDI alt formlarının her birinin MDI üst öğesi için olay başlatılmadan önce Closing bir Closing olay oluşturduğunu unutmayın. MDI alt öğesinin Closing olayının iptal edilmesi MDI üst öğesinin Closing olayının tetiklenmesini engellemez; ancak MDI CancelEventArgs üst öğesinin Closing olayının bağımsız değişkeni artık olarak
true
ayarlanır. bağımsız değişkenini olarak ayarlayarak MDI üst öğesini ve tüm MDI alt formlarını kapanmaya CancelEventArgsfalse
zorlayabilirsiniz.
Ayrıca bkz.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin