Практическое руководство. Упорядочение дочерних форм интерфейса MDI
Во многих случаях приложения будут иметь команды меню для таких действий как «Мозаика», «Каскад» и «Упорядочить», которые позволяют управлять компоновкой открытых дочерних MDI-форм. Для изменения порядка дочерних форм в родительской MDI-форме можно использовать метод LayoutMdi с одним из значений перечисления MdiLayout.
Значения перечисления MdiLayout позволяют отображать дочерние формы в виде каскада, мозаично по вертикали или горизонтали, либо в виде значков форм, расположенных в нижней части MDI-формы. Эти значения имеют тот же эффект, что и команды Windows Окна каскадом, Отображать окна рядом, Отображать окна стопкой и Показать рабочий стол, соответственно.
Эти методы часто используются в качестве обработчиков событий, вызываемых с помощью события Click пункта меню. Таким образом, пункт меню с текстом «Окна каскадом» может оказать требуемое воздействие на дочерние MDI-окна.
Упорядочение дочерних форм
В методе для родительской MDI-формы используйте перечисление LayoutMdi для задания методаMdiLayout. В следующем примере используется значение перечисления MdiLayout.Cascade для дочерних окон родительской MDI-формы (
Form1
). Перечисление применяется в коде во время работы обработчика событий для события Click пункта меню Окна каскадом.Protected Sub CascadeWindows_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade) End Sub
protected void CascadeWindows_Click(object sender, System.EventArgs e){ this.LayoutMdi(System.Windows.Forms.MdiLayout.Cascade); }
Примечание.
Путем изменения значения перечисления MdiLayout можно также мозаично размещать окна и упорядочивать их в виде значков.
В случае использования Visual C# поместите следующий код в конструктор формы для регистрации обработчика событий.
this.button1.Click += new System.EventHandler(this.button1_Click);
См. также
.NET Desktop feedback
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по