我有一个使用FormBorderStyle设置为“无”的应用程序。
与此相关的问题是,如果用户点击“显示桌面”button(这有效地最小化所有打开的窗口),然后从任务栏恢复其中一个窗体,所有的无边界forms将被恢复。
注意:如果在单击“显示桌面”button之前窗体被显式最小化(即WindowState = FormWindowState.Minimized),则会导致该特定窗体的预期行为。
另外请注意,对于常规窗体甚至是无界限的WPF窗口,情况并非如此。
Form.Designer.cs:
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
Form.cs:
private void MinimizeButton_Click(object sender, EventArgs e) { // If minimized explicitly, form behaves appropriately WindowState = FormWindowState.Minimized; }
任何想法,为什么这是这样/如何解决它?
我相信这只是默认行为,因为无边界形式不应该被最小化。
看看这个帖子。 希望这会帮助你改变这个默认行为。
从帖子(添加到表单):
const int WS_MINIMIZEBOX = 0x20000; const int CS_DBLCLKS = 0x8; protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.Style |= WS_MINIMIZEBOX; cp.ClassStyle |= CS_DBLCLKS; return cp; } }