Отображение формы в том же месте, что и родительская кнопка вызова - PullRequest
0 голосов
/ 06 сентября 2018

У меня есть UserControl с кнопкой на панели, которая находится на UserControl (это часть пользовательского календаря, настроенного с помощью TableLayoutPanel, а UserControl отображает содержимое каждого дня в календаре). При нажатии на кнопку отображается диалоговое окно. Я хочу, чтобы диалог отображался в том же месте, что и UserControl. У меня есть свойство StartPosition для диалога, установленного на «Вручную».

 dlgStatuses DlgStatuses = new dlgStatuses(this);
        ucDate ucParent = (ucDate)((Button)sender).Parent.Parent; //This is the UserControl
        int x = PointToScreen(ucParent.Location).X;
        int y = PointToScreen(ucParent.Location).Y;
        DlgStatuses.Location = new Point(x, y);
        DlgStatuses.ShowDialog();

Это не работает, как нужно. Я попробовал PointToClient, и он тоже не работает. Я также пробовал это, и это не удается:

dlgStatuses DlgStatuses = new dlgStatuses(this);
        ucDate ucParent = (ucDate)((Button)sender).Parent.Parent;            
        DlgStatuses.Location = ucParent.Location;
        DlgStatuses.ShowDialog();

Так что мне нужно, чтобы DlgStatuses отображался в том же месте, что и ucParent.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...