Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .Net/Winforms,双监视器-无边界窗口-最大化不起作用_C#_.net_Winforms_Forms_Maximize - Fatal编程技术网

C# .Net/Winforms,双监视器-无边界窗口-最大化不起作用

C# .Net/Winforms,双监视器-无边界窗口-最大化不起作用,c#,.net,winforms,forms,maximize,C#,.net,Winforms,Forms,Maximize,我有一个问题没有回答 最后的帖子是我的帖子。StackOverflow是一个更好的论坛,您能帮助我: 简而言之: 双监视器配置,右侧主监视器分辨率较低,左侧监视器分辨率较高lo:1280x1024;你好:1680x1050。当在较大的显示器上最大化时,窗口比显示器大,仅在左侧显示器上有效 处理无边界窗口基类 最大化到实际的客户区域并没有按预期工作。通过添加WndProc钩子并修改尺寸参数来解决此问题。多监视器支持增加了一些问题,因为最大化似乎依赖于MaxTrackSize而不是MaxSize。只

我有一个问题没有回答

最后的帖子是我的帖子。StackOverflow是一个更好的论坛,您能帮助我:

简而言之:

双监视器配置,右侧主监视器分辨率较低,左侧监视器分辨率较高lo:1280x1024;你好:1680x1050。当在较大的显示器上最大化时,窗口比显示器大,仅在左侧显示器上有效 处理无边界窗口基类 最大化到实际的客户区域并没有按预期工作。通过添加WndProc钩子并修改尺寸参数来解决此问题。多监视器支持增加了一些问题,因为最大化似乎依赖于MaxTrackSize而不是MaxSize。只有当主监视器小于第二个监视器时,才会出现这种情况 我在规范中发现:

对于具有多个监视器的系统, ptMaxSize和ptMaxPosition 成员描述最大化的大小 以及车窗在车身上的位置 主监视器,即使窗口 最终最大化到第二级 班长那样的话,窗户 管理器将这些值调整为 补偿两种方法之间的差异 主监视器和 显示窗口。因此,如果用户 保持ptMaxSize不变,一扇窗户 在比主屏幕大的监视器上 监视器将最大化到屏幕的大小 更大的显示器

所以,如果我的理解正确的话,当任务栏被放置在不将其隐藏在最大化窗口下的位置时,不可能以更高的分辨率最大化屏幕


干杯,jbk

您可以实现自己的最大化:

确定表单所在的屏幕 根据屏幕的偏移和大小设置窗体的偏移和大小。 您可以根据需要使用桌面区域的工作区或整个屏幕的边界以及屏幕的工具栏。
*如果您想隐藏工具栏并实际全屏显示,我认为您需要将表单设置为最顶层。

这就是我的工作原理:

将FormBorderStyle设置为FixedSingle-可能也适用于其他样式!=没有,还没有测试过。。。 将WindowsState设置为FormWindowsState。最大化 将FormBorderStyle重置为“无” 至少,它可以在不使用WinAPI的情况下为纯WinForms工作