我正在创建一些始终置顶的消息框作为表单,当我打开它们时,我希望它们不会从其他窗体中夺取焦点。我该怎么做?
谢谢。
protected override bool ShowWithoutActivation
{
get
{
return true;
}
}
在您的表单代码中覆盖此属性,应该就可以解决问题。
使用Adam和Aaron提供的信息,我花了几分钟时间,但最终成功了。唯一需要做的是确保表单的“最顶层”属性设置为false。这是我使用的代码...
protected override bool ShowWithoutActivation { get { return true; } }
protected override CreateParams CreateParams
{
get
{
//make sure Top Most property on form is set to false
//otherwise this doesn't work
int WS_EX_TOPMOST = 0x00000008;
CreateParams cp = base.CreateParams;
cp.ExStyle |= WS_EX_TOPMOST;
return cp;
}
}