Разница между методами Show и ShowDialog в C# заключается в типе отображаемого окна: intuit.ru microsin.net
- Show отображает обычное окно (немодальное), которое равноправно со всеми окнами приложения. microsin.net Можно создавать и показывать сразу несколько таких окон, и пользователь может взаимодействовать со всеми ними одновременно. professorweb.ru Если после вызова Show пользователь закроет окно, то повторно вызвать Show не получится, так как объект окна будет уничтожен, и его надо будет создавать заново. microsin.net
- ShowDialog отображает модальное окно. microsin.net Оно блокирует все остальные окна приложения, пока не будет закрыто. microsin.net В приложении в любое время может быть активно и доступно для пользователя только одно модальное окно. microsin.net После закрытия пользователем окна экземпляр класса окна не будет уничтожен, поэтому не нужно перед каждым новым вызовом ShowDialog создавать экземпляр класса. microsin.net
Ещё одна особенность метода ShowDialog — он реализован как функция, возвращающая значение типа System.DialogResult. intuit.ru Благодаря этому можно узнать, какая кнопка была нажата при завершении диалога (например, OK или Cancel). intuit.ru