Я не помню, чтобы каждый так много кода использовал для работы модальной Windows.Меня беспокоит ваш комментарий «Я могу нажать на форму владельца», которая заставляет меня поверить, что форма неправильно настроена как модальная.По определению, модальные формы должны быть обработаны до того, как пользовательский контроль сможет вернуться к форме владельца.Minimizinfg модальная форма не означает должным образом «иметь дело» с модальной формой.
Вот код, который я использовал в прошлом.Примечания: передача владельца в качестве параметра в ShowDialog устанавливает отношение владения.Хотя я подозреваю, что ваш код работает, я не использовал его таким образом.
Кроме того, когда я сделал это, я не поместил никакого специального кода в модальную форму, а также отключил все кнопки в правом верхнем углу формы;тем самым гарантируя, что пользователь не сможет закрыть, свернуть или развернуть модальную форму вне любых предоставленных мной кнопок.
public partial class Form1 : Form
{
Form2 frm2 = new Form2();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
frm2.ShowDialog(this);
}
}
Надеюсь, это поможет.