我已经搜索但未找到或找到,但没有任何对我有用,因此这个问题。以下代码用于在我的主窗体上显示进度表单。这个表格必须有重点。
private ProgressForm _progress;
private void ShowProgress(string message)
{
Enabled = false;
_progress = new ProgressForm(message, this);
_progress.Show();
}
表格显示但没有焦点,见下图:
正如您所看到的那样,主表单仍然有焦点,而不是新表单。我想要的是这个:
我尝试过以下方法,但两种方法都不起作用:
_progress.BringToFront();
_progress.Focus();
_progress.Activate();
我也在新表单的构造函数中尝试了这些方法,但这给出了相同的结果。有谁知道如何解决这个问题?
我使用了'gnarlybracket'答案中提出的解决方案,只需要切换到代码行就能使其工作。同样重要的是,我发现为什么ShowProgress
没有集中注意力。我从表单的Load
事件中调用了该方法。如果我从表单的Activated
事件中调用它,则会显示新表单并具有焦点。
答案 0 :(得分:1)
而不是
_progress.Show();
尝试:
_progress.ShowDialog();