У меня проблемы с отображением отключенной формы в немодальном состоянии.Вот пример кода:
public partial class Form1 : Form
{
// ....
private void button1_Click(object sender, EventArgs e)
{
try
{
Form2 form = new Form2();
form.Enabled = false;
form.Show(); // works, but form has no owner
// form.Show(this); // gives an System.InvalidOperationException
// ...
// ... my program here shows a message box, ask user for something
// ... while 'form' is shown in the background
form.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
Есть идеи, почему Show()
(без параметра) работает, но Show(this)
дает исключение?В моем сценарии form
должен знать, что его владелец отображается правильно, поэтому я могу сделать следующее:
form.Enabled = false;
form.Owner=this;
form.Show();
, но действительно ли это хорошее решение?
РЕДАКТИРОВАТЬ: Спасибо забыстрые ответы.Похоже, мы действительно нашли ошибку во фреймворке здесь.Несмотря на ваши предложения, я думаю, что буду придерживаться своего решения, поскольку отключение формы после «Показать» дает ужасно видимый эффект для пользователя.