我有一个在用户屏幕上弹出并具有 TopMost=true
的表单,但它抢走了焦点。我怎样才能让它在第一次出现时不抢走焦点?
最佳答案
这对我有用。它提供 TopMost 但没有焦点窃取。
protected override bool ShowWithoutActivation
{
get { return true; }
}
private const int WS_EX_TOPMOST = 0x00000008;
protected override CreateParams CreateParams
{
get
{
CreateParams createParams = base.CreateParams;
createParams.ExStyle |= WS_EX_TOPMOST;
return createParams;
}
}
请记住在 Visual Studio 设计器或其他地方省略设置 TopMost。
这是被盗、错误、借用的,来自这里(单击解决方法):
关于c# - 打开 TopMost = true 的 WinForms 窗体但没有窃取焦点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3729899/