How can I get the reference to currently active modal form?
You can get a reference to the currently active form by using the static Form.ActiveForm
property.
Edit: If no Form
has the focus, Form.ActiveForm
will return null
.
One way to get around this is to use the Application.OpenForms
collection and retrieve the last item, witch will be the active Form
when it is displayed using ShowDialog
:
// using Linq:
var lastOpenedForm = Application.OpenForms.Cast<Form>().Last()
// or (without Linq):
var lastOpenedForm = Application.OpenForms[Application.OpenForms.Count - 1]