2

我开发了一个窗口窗体应用程序,它在桌面的右上角显示类似 msn 警报的消息。我将表单的最顶层属性设置为 true,但在我处理它们时它会窃取其他应用程序的焦点。我不希望应用程序窃取令人讨厌的焦点。我怎么解决这个问题 。有什么建议吗?

此致。

4

1 回答 1

4

覆盖表单的 CreateParams 和 ShowWithoutActivation 属性,如下所示:

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

    // WS_EX_NOACTIVATE = 0x08000000,
    // WS_EX_TOOLWINDOW = 0x00000080,
    baseParams.ExStyle |= ( int )( 
      Win32.ExtendedWindowStyles.WS_EX_NOACTIVATE | 
      Win32.ExtendedWindowStyles.WS_EX_TOOLWINDOW );

    return baseParams;
  }
}

protected override bool ShowWithoutActivation
{
  get { return true; }
}
于 2009-02-24T04:48:17.130 回答