Практическое руководство. Удаление элемента ToolStripMenuItem из раскрывающегося меню MDI (Windows Forms)
В некоторых приложениях вид дочернего окна многодокументного интерфейса (MDI) может отличаться от родительского окна MDI. Например, родительским окном MDI может быть электронная таблица, а дочерним окном MDI — диаграмма. В этом случае может потребоваться дополнить содержимое меню родительского окна MDI содержимым меню дочерней MDI-формы, по мере того как активируются дочерние окна MDI различных типов.
В следующей процедуре используется Is
Для удаления элемента управления из меню MDI
Создайте форму и присвойте ее свойству Is
Mdi значениеContainer true
.Добавьте Menu
Strip наForm1
и присвойте свойству AllowMerge для элемента MenuStrip значениеtrue
.Добавьте пункт меню верхнего уровня для
Form1
MenuStrip и задайте его Text свойства&File
.Добавьте три элемента вложенного меню для
&File
пункта меню и задайте их Text свойства&Open
,&Import from
, иE&xit
.Добавьте два подменю к
&Import from
подменю и задайте их Text свойства&Word
и&Excel
.Добавьте в проект форму, добавьте Menu
Strip в форму и задайте AllowMerge свойствоForm2
MenuStrip дляtrue
.Добавьте пункт меню верхнего уровня для
Form2
MenuStrip и задайте его Text свойства&File
.Добавить
&Import from
пункт подменю&File
менюForm2
и добавьте&Word
пункт подменю&File
меню.Задайте Merge
Action и MergeIndex свойстваForm2
пункты меню, как показано в следующей таблице.Пункт меню Form2 Значение MergeAction Значение MergeIndex Файл MatchOnly -1 Импорт из MatchOnly -1 Слово Удалить -1 В
Form1
, создайте обработчик событий для Click событие&Open
ToolStrip .Menu Item В обработчик событий вставьте код, аналогичный приведенному в следующем примере кода для создания и отображения новых экземпляров
Form2
качестве дочерних окон MDIForm1
:Private Sub openToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles openToolStripMenuItem.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
private void openToolStripMenuItem_Click(object sender, EventArgs e) { Form2 newMDIChild = new Form2(); // Set the parent form of the child window. newMDIChild.MdiParent = this; // Display the new form. newMDIChild.Show(); }
Поместите код, аналогичный приведенному ниже код в
&Open
ToolStrip для регистрации обработчика событий.Menu Item Private Sub openToolStripMenuItem_Click(sender As Object, e As _ EventArgs) Handles openToolStripMenuItem.Click
this.openToolStripMenuItem.Click += new _ System.EventHandler(this.openToolStripMenuItem_Click);
Компиляция кода
Для этого примера требуются:
два элемента управления Form с именами
Form1
иForm2
;элемент управления Menu
Strip наForm1
с именемmenuStrip1
и элемент управления MenuStrip наForm2
с именемmenuStrip2
;ссылки на сборки System и System.
Windows. .Forms