当我单击 MainForm 中的 Button1 时,必须在WPF中打开 AboutForm 作为对话框在MainForm顶部相同位置。如果我使用 Show()方法打开表单,则下面的代码运行良好,但是当我使用 ShowDialog()时,该表单在屏幕中央打开。我也尝试了其他一些选项,例如设置AboutForm的 Owner 属性和 WindowStartupLocation ,但对我不起作用。您能帮我如何在表格顶部的同一位置打开一个对话框吗?
private void Button1_Click(object sender, RoutedEventArgs e)
{
AboutForm aboutForm = new AboutForm();
aboutForm .Show();
aboutForm .Left = this.Left;
aboutForm .Top = this.Top;
}
答案 0 :(得分:1)
在调用ShowDialog()方法之前,您需要设置窗口属性。
private void Button1_Click(object sender, RoutedEventArgs e)
{
var aboutForm = new AboutForm
{
Width = Width,
Height = Height,
Left = Left,
Top = Top,
Owner = this
};
aboutForm.ShowDialog();
}