C# JackLib系列之Form窗体的ShowWithoutActivation属性及其作用

代码改变世界!

如果要显示顶级窗口,但又不希望由于将输入焦点从当前窗口移开而中断用户的工作,请使用此属性。它可以是一个信息性弹出窗口或浮动窗口,如“画图”应用程序中的“工具”调色板。

  由于此属性为只读,所以只能通过在您自己的窗体中重写 ShowWithoutActivation 并通过编程使其返回 true 来更改此属性的值。

  如果非激活的窗口需要使用 UI 控件,您应该考虑使用 ToolStrip 控件,如 ToolStripDropDown。这些控件都是无窗口控件,因此选择它们时不会导致窗口被激活。

 1     /// <summary>
 2     /// FormWithoutActivation is exactly like a normal form, but doesn't activate (窃取焦点)
 3     /// </summary>
 4     public class FormWithoutActivation : Form {
 5         protected override bool ShowWithoutActivation {
 6             get {
 7                 return true;
 8             }
 9         }
10     }

 以下代码实现:ShowWithoutActivation:如果显示窗口时不将其激活,则为 True;否则为 false。默认为 false。但前提条件:TopMost= false;

原文地址:https://www.cnblogs.com/shaozhuyong/p/5198994.html