【发布时间】:2020-06-04 01:58:10
【问题描述】:
如果您刚刚阅读本文,请跳至本文的 EDITx5 部分。
当我执行以下操作时,winform 标题栏不会消失,而是隐藏在任务栏后面和/或下方:
EDITx2(更改了步骤顺序):
将 windows 10 的屏幕分辨率设置为 1920x1080。
右键单击 windows 10 任务栏 -> 打开任务栏设置 -> 将“在桌面模式下自动隐藏任务栏”设置为开启。
在winform构造函数中:
this.FormBorderStyle = FormBorderStyle.None; this.ShowInTaskbar = false;通过定时器事件自动为窗口编程最小化和最大化功能。
运行应用程序。
在应用运行时将 Windows 10 的屏幕分辨率设置为 1280x800。
请注意,当应用程序窗口最小化时,应用程序运行时任务栏后面会放置一个短标题栏。
奇怪的是,当我执行以下操作时,并没有发生上述情况,并且标题栏在所有分辨率下都隐藏,但应用程序通过任务栏中的任务栏图标显示,这是不需要的:
this.FormBorderStyle = FormBorderStyle.None;
this.ShowInTaskbar = true;
这个问题可能与窗口需要始终有一个可用于某些屏幕分辨率的窗口有关?
尝试设置所有表单的自动大小、自动缩放等属性不起作用。
为什么会发生这种情况,我该如何解决?
非常感谢任何帮助。
感谢阅读。
编辑:
更具体地说,设置this.FormBorderStyle = FormBorderStyle.None; 有效,但仅适用于某些屏幕分辨率,例如 1980x1080。如果我执行第 1~7 步,任务栏后面会出现一个小标题栏。
另外,尝试以下方法也不起作用:
this.ControlBox = false;
this.Text = String.Empty;
this.FormBorderStyle = FormBorderStyle.FixedSingle;
this.ShowInTaskbar = false;
EDITx3:
实际上,最初在屏幕分辨率为 1280x800 时运行应用程序,然后使用计时器事件将窗口最小化和最大化几次,导致标题栏随机出现在任务栏/隐藏任务栏时。即使这样做,我仍然没有找到解决方案:
this.FormBorderStyle = FormBorderStyle.None;
this.ShowInTaskbar = false;
EDITx4
对于不断更新此问题,我深表歉意。我发现的最后一件事。将应用程序运行时的缩放比例从 125% 更改为 100% 会使标题栏随机出现在我屏幕的左下角。这些属性在构造函数中设置:
this.FormBorderStyle = FormBorderStyle.None;
this.ShowInTaskbar = false;
EDITx5
将电脑分辨率设置为任何值(我是 1920x1080)。将电脑缩放设置设置为 100%。将其放入表单构造函数中:
this.FormBorderStyle = FormBorderStyle.None;
this.ShowInTaskbar = false;
this.windowedState = formwindowstate.minimized;
有一个计时器最小化和最大化窗体的窗口状态,或者提供某种方式以定时的方式最小化和最大化窗体窗口。然后标题栏将随机出现在屏幕的左下角部分,即使它应该通过将 formborderstyle 设置为 none 来消失。这是winforms中的错误?其他人可以复制这个问题吗?
【问题讨论】:
-
@GehanFernando 你指的是表单调整大小问题吗?
标签: c# winforms taskbar titlebar