Смотрим код:
using System; using System.Windows.Forms; class MainForm : Form { public MainForm() { MainMenu mnuMenu = new MainMenu(); this.Menu = mnuMenu; MenuItem MenuTest = new MenuItem("&Test"); MenuTest.MenuItems.Add("Modal Dialog",new System.EventHandler(this.MenuModal_Click)); MenuTest.MenuItems.Add("Modeless Dialog",new System.EventHandler(this.MenuModeless_Click)); mnuMenu.MenuItems.Add(MenuTest); } private void MenuModal_Click(Object sender, EventArgs e) { ModalDialog md=new ModalDialog(); md.ShowDialog(this); } private void MenuModeless_Click(Object sender, EventArgs e) { ModelessDialog md=new ModelessDialog(); md.Show(); } public static void Main(string[] args) { Application.Run(new MainForm()); } } class ModalDialog: Form { public ModalDialog() { Text="Modal Dialog"; } } class ModelessDialog: Form { public ModelessDialog() { Text="Modeless Dialog"; } }
Как видите отличаются они только методом вывода на экран.
ShowDialog(this); модальное окно Show(); не модальное окно