Это очень тривиальная проблема, но я не могу найти способ ее решить. Меня это раздражает, потому что я чувствую, что должен знать ответ на этот вопрос, но я либо ищу неправильные термины, либо смотрю не те методы и свойства.
У меня есть диалог конфигурации, который вызывается из двух мест.
Первый - от кнопки на форме, которая работает правильно - как и следовало ожидать.
Второй - из контекстного меню notifyIcon на панели задач, но здесь он отображается в верхнем левом углу экрана. В идеале я бы хотел, чтобы он отображался по центру основного экрана или, возможно, рядом с системным лотком.
Я пробовал установить
Location
, но, похоже, это отменяется при вызовеdialog.ShowDialog()
.Я пробовал использовать
dialog.ShowDialog(IWin32Window)
перегрузку, но мне не понравилось, что я передаюnull
в качестве дескриптора окна.Я пробовал использовать вместо этого
dialog.Show()
, но (и здесь я могу ошибаться) установка местоположения не дает последовательных результатов.Я даже пробовал установить свойство
dialog.Parent
, что, конечно, вызвало исключение.
Я просто знаю, что пойму, что ответ очевиден, когда (надеюсь) увижу некоторые ответы, но на данный момент я полностью застрял.
Спасибо за ответы - как я и подозревал, это было очевидно, но, как обычно, я застрял и искал неправильный путь. Еще более досадно то, что я тоже использовал это свойство дизайнера.