c# – 显示窗体而不偷焦?

我使用Form来显示通知(它出现在屏幕的右下角),但是当我显示这个表单时,它会从主窗体中偷走焦点。有没有办法显示这个“通知”形式而不偷焦点?
最佳答案
嗯,不是简单地重写Form.ShowWithoutActivate足够了?

protected override bool ShowWithoutActivation
{
  get { return true; }
}

如果您不希望用户单击此通知窗口,您可以覆盖CreateParams:

protected override CreateParams CreateParams
{
  get
  {
    CreateParams baseParams = base.CreateParams;

    const int WS_EX_NOACTIVATE = 0x08000000;
    const int WS_EX_TOOLWINDOW = 0x00000080;
    baseParams.ExStyle |= ( int )( WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW );

    return baseParams;
  }
}

转载注明原文:c# – 显示窗体而不偷焦? - 代码日志