C# 当父对象没有焦点时,CenterParent不工作
我有一个带计时器的窗体。计时器加载一个对话框以显示窗体正忙。当主窗体没有焦点时,繁忙窗体将加载到pc屏幕的左上角(这不是预期的)。当窗体具有焦点时,它将按预期工作。如果将ShowInTaskbar设置为true,则即使主窗体没有焦点,它也会按预期工作。这里发生了什么,我该怎么解决 C#代码C# 当父对象没有焦点时,CenterParent不工作,c#,winforms,C#,Winforms,我有一个带计时器的窗体。计时器加载一个对话框以显示窗体正忙。当主窗体没有焦点时,繁忙窗体将加载到pc屏幕的左上角(这不是预期的)。当窗体具有焦点时,它将按预期工作。如果将ShowInTaskbar设置为true,则即使主窗体没有焦点,它也会按预期工作。这里发生了什么,我该怎么解决 C#代码 namespace CenterParentIssue { public partial class Main : Form { WaitingForm formWindow
namespace CenterParentIssue
{
public partial class Main : Form
{
WaitingForm formWindowsWaitingForm;
public Main()
{
InitializeComponent();
}
private void timer1_Tick(object sender, EventArgs e)
{
formWindowsWaitingForm = new WaitingForm();
formWindowsWaitingForm.StartPosition = FormStartPosition.CenterParent;
formWindowsWaitingForm.ShowInTaskbar = false;
formWindowsWaitingForm.ShowDialog();
}
}
}
您需要为
WaitingForm
提供父上下文。有一个重载,该重载将窗口作为参数,此窗口是父/所有者
//...
formWindowsWaitingForm.ShowDialog(this);
//...