我有一个对话框,它应该始终在数据网格上打开,更准确地说是在数据网格的中心打开,即使在调整应用程序大小时也是如此。这是一个 MDI 应用程序。我现在使用的代码如下:
var dialog = new Dialog();
var location = myGrid.PointToScreen(Point.Empty);
dialog.Left = location.X + (myGrid.Width / 2) - (dialog.Width / 2);
dialog.Top = location.Y + (myGrid.Height / 2) - (dialog.Height / 2);
它仅在 MDI 最大化时才起作用。如果调整大小,则对话框的位置完全错误。