在与呼叫按钮的父位置相同的位置显示表单

时间:2018-09-06 20:19:46

标签: c# winforms

我在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();

所以我要寻找的是在与ucParent相同的位置显示DlgStatuses。

0 个答案:

没有答案