我正在编写一个应用程序,它可以创建大量的表单来在桌面上显示小部件。尽管ShowInTaskbar = false,该表单的每个实例都显示在任务管理器的Applications列表中;实际上它们没有显示在任务栏中。
我想要的行为是只有应用程序的主窗体出现在任务管理器中,我该如何实现?
答案 0 :(得分:3)
请注意,窗口也会显示在Alt + Tab栏中。您需要通过覆盖CreateParams属性来更改窗口样式标志。这是一个完整的例子:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
this.FormBorderStyle = FormBorderStyle.None;
this.ShowInTaskbar = false;
}
protected override CreateParams CreateParams {
get {
var cp = base.CreateParams;
cp.ExStyle |= 0x80; // Turn on WS_EX_TOOLWINDOW
return cp;
}
}
}
答案 1 :(得分:0)
您可以尝试将FormBorderStyle设置为其中一个工具窗口选项 - FixedToolWindow
或SizaableToolWindow
。我认为工具窗口不会显示在任务管理器的应用程序列表中,但我对此并不乐观。