一、 现象描述
当Form的大小超过屏幕的分辨率时,Form不能完全显示,超出屏幕分辨率部分的Form以及上面所有控件都不能显示。
二、问题重现
1. 把显示器的分辨率设1280×1024,把Windows字体大小设为100%;
2. 在Visual Studio中创建一个Winforms的项目;
3. 把Form1的Size属性设为1200, 800;
4. 在Form1上添加一个Button,并把它的拖到Form1的右下角;
5. 在下面两种情况下运行该程序:
a) 保持Windows字体大小不变,把显示器的分辨率设为1024×768;
b) 保持屏幕分辨率不变,把Windows字体大小设为150%
我们发现Form1不能完全显示,右下角的button1消失。
三、原因分析
Windows对窗口的大小有限制。窗口最大不能超过屏幕的分辨率加上若干个像素。我们在Windows中打开记事本(Notepad),用鼠标拖拽边框拉大记事本,我们就会发现当记事本的大小稍微超出屏幕的大小后,就不能再拉大了。
Winforms窗口的大小同样也受到Windows的限制。在Form.Size的MSDN文档中提到:此属性的最大值受窗体运行时所在屏幕的分辨率的限制。该值不能大于屏幕尺寸12 像素(即水平尺寸 + 12 和垂直尺寸 + 12)。因此大小为1200×800的Form不能在1024×768的分辨率下完全显示。另外,当Windows的字体大小设为为150%时,Winforms会自动拉大Form以保证上面的文字能够以大字体正确显示。因此在字体以100%情况下设置大小1200×800的Form,在字体大小为150%时,实际大小会超过1280×1024,所以也不能正常显示。
四、解决方案
首先,我们不建议设计非常大的Form。当Form很大的时候,通常也意味着会很复杂,而友好的人机交互界面应尽量避免非常复杂的对话框。因此,如果可能,不妨将复杂的Form分解成几个Form,或者用TabControl分解成若干个页面。
如果的确需要很大的Form,可以把Form.AutoScroll属性设为true。这样当Form受到屏幕分辨率的限制不能完全显示时,Winforms会自动在Form上添加滚动条,这样用户就可以通过拖动滚动条来操作原先不能显示的控件。
分享到:
相关推荐
3.WPF控件嵌入WinForms: 使用ElementHost控件将WPF控件嵌入到WinForms窗口中。 4.3D图形绘制: 在WPF中,利用Viewport3D控件来绘制3D图形,例如立方体。 5.导入STL: 使用Helix Toolkit的StLReader类从STL文件中读取3D...
验证.WinForms 扩展以允许验证WinForms UI。 可通过获得支持。 内容 NuGet包 用法 在程序集加载时一次启用VerifyXaml: VerifyWinForms . Enable (); | 形成 可视元素(窗体/控件等)可以按以下方式进行验证: ...
C#计时器 WinForms QQ:292258449
webview-winforms 由和提供支持的 Winforms 中的 Webview
VS13.WinForms概述使用Visual Studio 2013进行WinForms开发的开发组件和设计机制。 项目VS13.Reminders.Lib,VS13.Reminders.Win为WinForms应用程序提供Outlook样式的项目提醒。 通知区域中的VS13.TrayIcon.Lib,...
Windows窗体(WinForms)是用于构建Windows桌面应用程序的UI框架。 它是Windows用户界面库(例如User32和GDI +)上的.NET包装。 它还提供Windows窗体特有的控件和其他功能。 Windows窗体还提供了基于Visual Studio...
vs2010添加WeifenLuo.WinFormsUI.Docking.DockPanel.dll文件后,从工具栏中添加DockPanel控件时报错,提示【类型 Universe 无法解析程序集: System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5...
定积分程序 该程序使用多种方法计算定积分: 梯形法 左矩形法 直角矩形法 中矩形的方法 它还显示2个积分的公共区域,并可以选择颜色,阶跃等。
Unity Windows表单 在“ UnityEngine.GUI”类的顶部构建的Unity3d的Windows窗体端口(包括System.Drawing)。 支持的控件 按钮; 复选框; 组合框; DateTimePicker; FontDialog; 形成; GroupBox;...
ComponentOne Studio for WinForms is a comprehensive suite of controls and components for developing .NET WinForms solutions. It includes the following ComponentOne WinForms products: - BarCode for...
,该版本官方发布已经两个多月了,网络上却迟迟找不到可使用的下载资源(开发版,无需破解,没有限制)。3月2号51CTO上有人上传了,但遗憾的是无法安装。这个是可以成功安装的。Telerik_UI_for_WinForms_2015_1_225_...
WinForms C#:html编辑器工程源码,含直接写WebBrowser的文件流、IPersistStreamInit接口的声明和一些相关的小方法
.NET Windows窗体示例的GroupDocs.Viewer 版本1.0.0 系统要求 .NET Framework 4.6.1 Visual Studio 2019 ... API的允许您查看90多种文档格式,包括DOCX , PDF , PPT , XLS等,而无需任何其他依赖项。...
Timer 控件使用,ListView 控件,TreeView 控件
CNPJ咨询-API ReceitaWS :office_building: ... 不提供咨询,不提供信息的API代理,请查阅真实的文档。 埃塔帕斯 咨询委员会 地籍帝国 香茅 Tela Inicial 达多斯 达科斯银行配置 Empresas咨询公司
附件:WeifenLuo.WinFormsUI.Docking3.1.0.rar 包含: WeifenLuo.WinFormsUI.Docking.dll, license.txt ,WeifenLuo.WinFormsUI.Docking.pdb 等三个文件。基于Net4.0; 布局控件"WeifenLuo.WinFormsUI.Docking"是一个...
Microsoft 帐户 Windows 窗体该库提供了一种从 Windows 窗体应用程序生成 Microsoft 帐户访问和刷新令牌的简单方法。... 您的应用程序需要在 API 设置页面上配置为移动或桌面客户端应用程序,此库才能工作。...
mvp-winforms 清晰的体系结构,使用EF Code First项目将MVP模式实现到Windows窗体应用程序
Janus WinForms Controls v4.0.38.0 下载和破解,经本人亲测可行。 内含Janus.Windows.UI.v4.dll、Janus.Windows.TimeLine.v4.... 支持搭建VS2010和office2010风格的界面,大小68M,仅供学习和交流,不可用于商业用途。
C# Winforms学员管理系统,MVC三层架构,完整的增删查改功能。Visual Studio2005+SQL-Serve2005开发