Aracılığıyla paylaş


Windows Forms MenuStrip Denetiminde Menü Öğelerini Birleştirme

Birden çok belgeli arabirim (MDI) uygulamanız varsa, alt formdaki menü öğelerini veya tüm menüleri üst formun menüleriyle birleştirebilirsiniz.

Bu konu başlığında, MDI uygulamasında menü öğelerini birleştirmeyle ilişkili temel kavramlar açıklanmaktadır.

Genel Kavramlar

Birleştirme yordamları hem hedef hem de kaynak denetimi içerir:

  • Hedef, menü öğelerini birleştirdiğiniz ana veya MDI üst formundaki MenuStrip denetimidir.

  • Kaynak, hedef menüyle birleştirmek istediğiniz menü öğelerini içeren MDI alt formundaki MenuStrip denetimidir.

MdiWindowListItem özelliği, açılan listesini geçerli MDI üst formunun MDI alt öğelerinin başlıklarıyla dolduracağınız menü öğesini tanımlar. Örneğin, genellikle Penceresi menüsünde açık olan MDI alt öğelerini listelersiniz.

IsMdiWindowListEntry özelliği, MDI alt formundaki menü öğelerinin bir MenuStrip'den geldiğini tanımlar.

Menü öğelerini el ile veya otomatik olarak birleştirebilirsiniz. Menü öğeleri her iki yöntem için de aynı şekilde birleştirilir, ancak birleştirme, bu konunun devamında yer alan "El ile Birleştirme" ve "Otomatik Birleştirme" bölümlerinde açıklandığı gibi farklı şekilde etkinleştirilir. Hem el ile hem de otomatik birleştirmede, her birleştirme eylemi bir sonraki birleştirme eylemini etkiler.

MenuStrip birleştirme işlemi, menü öğelerini MainMenu'de olduğu gibi kopyalamak yerine bir ToolStrip'den başka bir ToolStrip'e taşır.

MergeAction Değerleri

kaynak MenuStrip menü öğelerinde birleştirme eylemini MergeAction özelliğini kullanarak ayarlarsınız.

Aşağıdaki tabloda, kullanılabilir birleştirme eylemlerinin anlamı ve tipik kullanımı açıklanmaktadır.

MergeAction Değeri Açıklama Tipik Kullanım
Append (Varsayılan) Kaynak öğeyi hedef öğenin koleksiyonunun sonuna ekler. Programın bir bölümü etkinleştirildiğinde menünün sonuna menü öğeleri ekleme.
Insert Kaynak öğeyi hedef öğenin koleksiyonuna, kaynak öğede ayarlanan MergeIndex özelliği tarafından belirtilen konuma ekler. Programın bir bölümü etkinleştirildiğinde, menünün ortasına veya başına menü öğeleri ekleme.

MergeIndex değeri her iki menü öğesi için de aynıysa, bunlar ters sırada eklenir. özgün sırayı korumak için MergeIndex uygun şekilde ayarlayın.
Replace Metin eşleşmesi bulur veya metin eşleşmesi bulunamazsa MergeIndex değerini kullanır ve eşleşen hedef menü öğesini kaynak menü öğesiyle değiştirir. Aynı ada sahip ancak farklı bir işlevi olan bir kaynak menü öğesiyle hedef menü öğesini değiştirme.
MatchOnly Metin eşleşmesi bulur veya metin eşleşmesi bulunamazsa MergeIndex değerini kullanır ve ardından kaynaktaki tüm açılan öğeleri hedefe ekler. Bir alt menüye menü öğeleri ekleyen veya ekleyen ya da bir alt menüden menü öğelerini kaldıran bir menü yapısı oluşturmak. Örneğin, bir MDI çocuk penceresinden ana MenuStripFarklı Kaydet menüsüne bir menü öğesi ekleyebilirsiniz.

MatchOnly herhangi bir işlem yapmadan menü yapısında gezinmenizi sağlar. Sonraki öğeleri değerlendirmek için bir yol sağlar.
Remove Metin eşleşmesi bulur veya metin eşleşmesi bulunamazsa MergeIndex değerini kullanır ve ardından öğeyi hedeften kaldırır. Hedef MenuStrip'den bir menü öğesi kaldırma.

El ile Birleştirme

Otomatik birleştirmeye yalnızca MenuStrip kontroller katılır. ToolStrip ve StatusStrip denetimleri gibi diğer denetimlerin öğelerini birleştirmek için, kodunuzda Merge ve RevertMerge yöntemlerini gerektiği gibi çağırarak bunları el ile birleştirmeniz gerekir.

Otomatik Birleştirme

Kaynak formu etkinleştirerek MDI uygulamaları için otomatik birleştirmeyi kullanabilirsiniz. MDI uygulamasında bir MenuStrip kullanmak için, kaynak MenuStrip üzerinde gerçekleştirilen birleştirme eylemlerini hedef MenuStrip'e yansıtacak şekilde MainMenuStrip özelliğini hedef MenuStrip olarak ayarlayın.

MDI kaynağındaki MenuStrip etkinleştirerek otomatik birleştirmeyi tetikleyebilirsiniz. Etkinleştirmenin ardından kaynak MenuStrip MDI hedefiyle birleştirilir. Yeni form etkin hale geldiğinde, birleştirme son formda geri alınır ve yeni formda tetiklenir. Her ToolStripItemgerektiğinde MergeAction özelliğini ayarlayarak ve her MenuStripAllowMerge özelliğini ayarlayarak bu davranışı denetleyebilirsiniz.

Ayrıca bkz.