猿问

在没有窃取焦点的情况下显示表单?

在没有窃取焦点的情况下显示表单?

我正在使用表单来显示通知(它出现在屏幕的右下角),但是当我显示此表单时,它会从主表单中窃取焦点。有没有办法在不窃取焦点的情况下显示此“通知”表单?



慕码人8056858
浏览 450回答 3
3回答

30秒到达战场

嗯,是不是简单地重写了Form.ShowWithoutActivation呢?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;   }}

饮歌长啸

如果您愿意使用Win32 P / Invoke,那么您可以使用ShowWindow方法(第一个代码示例完全符合您的要求)。
随时随地看视频慕课网APP
我要回答