The form class’ ShowDialog method functions differently than its Show method. Here’s how:
- ShowDialog‘s returned value can be used to determine how the user closed the form (using the DialogResult property).
- ShowDialog does not call the Dispose method automatically on its close. However, Show, when modeless, does dispose upon close.
One of the benefits of the modal dialog not being disposed after it’s closed is that the data can be retrieved from the modal form.
A good practice is to call the Dispose method in a final block, when using the ShowDialog method, which releases resources and handles from memory.