У меня проблема с самым высоким уровнем, найдено решение, которое «работает», но это выглядит не так хорошо. Есть ли еще один «более чистый» способ решить эту проблему? Вот мой код: комментарии к событию в коде.C# mainui падает за другими окнами, проблема с topmost
OrderTemplateView template;
private void toolStripButton4_Click(object sender, EventArgs e)
{
if (template != null)
{
template.Close(); //must close to trigger close event.
template.Dispose();
}
mainUi.TopMost = true; // must set my mainUi topMost here othervise it drops in the background of other windows open at the computer.
template = new OrderTemplateView(this);
template.TopMost = true;// must set my dialog topmost othervise it drops behind my mainUi
template.StartPosition = FormStartPosition.CenterParent;
mainUi.TopMost = false;//must release my topmost so other windows on the computer can be called to front.
template.TopMost = false;
template.ShowDialog();
}
Обновленный код, который выполняет ту же работу:
private void toolStripButton4_Click(object sender, EventArgs e)
{
if (template != null)
{
template.Close();
template.Dispose();
}
template = new OrderTemplateView(mainUi);
template.StartPosition = FormStartPosition.CenterParent;
template.ShowDialog(mainUi);
}
`
Удалить все ссылки на 'TopMost', а затем вызвать' mainUi.BringToFront() ', а затем вызвать' template.ShowDialog (mainUi) '- обратите внимание, я передаю mainUi для вызова ShowDialog(). – LordWilmore
Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. - [Из обзора] (/ review/low-quality-posts/14089033) – pylover
@pylover Я обновил ответ, чтобы быть правильным ответом. Приветствия для исправления. – LordWilmore