我将任务栏停靠在左侧,这会导致在任务栏下方打开许多窗口。
System.Windows.Form.FormStartPosition 值均不考虑任务栏,手动除外。这是设计使然吗?这令人沮丧。我想尊重操作系统应该强制执行的默认监视器和窗口位置值。
好吧,如果 WinForms 不自动执行此操作,您可能必须手动设置。
您必须使用 System.Windows.Forms.Screen.PrimaryScreen.WorkingArea 来获取没有任务栏的屏幕区域,并使用该 Rectangle 手动计算表单的启动区域,并将其设置为 Form 的 Bounds 属性. (确保表单使用 FormStartPosition.Manual)。
我认为没有.NET 方法可以做到这一点。我看不出有任何理由拥有这样一个。
您可以找到任务栏位置并手动将表单放在那里。