今天做一个右下角弹窗体的功能,要求新窗体不能抢了现有活动窗体的焦点,试验了网上的几种方法,效果都不明显。包括:
1、protected override CreateParams CreateParams
{
get
{
var cp = base.CreateParams;
cp.ExStyle |= WS_EX_NOACTIVATE;
return cp;
}
}
2、
protected override bool ShowWithoutActivation
{
get
{
return false;
}
}
3、
protected override void WndProc(ref Message m)
{
if (m.Msg ==WM.WM_SETFOCUS || m.Msg ==WM.WM_ACTIVATE)
{
Win32.SendMessage(this.Handle,WM.WM_NCACTIVATE, 0, 0);
return;
}
base.WndProc(ref m);