win7中写的winforms应用程序在win xp上看起来不同.为什么?
我在win 7上用winforms(.net 4.0)编写了一个简单的应用程序.应用程序看起来我想要的但是当我在windows xp上尝试它时,一切看起来都不一样.
我已经创建了一个示例来展示它在win 7和xp上的外观. private void InitializeComponent() { this.numericUpDown1 = new System.Windows.Forms.NumericUpDown(); this.groupBox1 = new System.Windows.Forms.GroupBox(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).BeginInit(); this.SuspendLayout(); // // numericUpDown1 // this.numericUpDown1.DecimalPlaces = 2; this.numericUpDown1.Increment = new decimal(new int[] { 1,131072}); this.numericUpDown1.Location = new System.Drawing.Point(21,26); this.numericUpDown1.Maximum = new decimal(new int[] { 1,0}); this.numericUpDown1.Name = "numericUpDown1"; this.numericUpDown1.Size = new System.Drawing.Size(54,22); this.numericUpDown1.TabIndex = 0; // // groupBox1 // this.groupBox1.Location = new System.Drawing.Point(21,82); this.groupBox1.Name = "groupBox1"; this.groupBox1.Size = new System.Drawing.Size(226,99); this.groupBox1.TabIndex = 1; this.groupBox1.TabStop = false; this.groupBox1.Text = "groupBox1"; // // Form1 // this.AutoScaleDimensions = new System.Drawing.SizeF(8F,16F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.ActiveCaption; this.ClientSize = new System.Drawing.Size(407,331); this.Controls.Add(this.groupBox1); this.Controls.Add(this.numericUpDown1); this.Name = "Form1"; this.Text = "Form1"; ((System.ComponentModel.ISupportInitialize)(this.numericUpDown1)).EndInit(); this.ResumeLayout(false); } 我没有修改xp颜色主题. this.AutoScaleDimensions = new System.Drawing.SizeF(8F,16F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.BackColor = System.Drawing.SystemColors.ActiveCaption; 这些是导致您麻烦的陈述.我首先要选择一个简单的,不要使形式的BackColor与标题颜色相同.如果要选择主题颜色,则只选择“控制”颜色.虽然你通常会把旧战舰变成灰色.选择中性柔和色是您最好的选择,但尊重用户的偏好永远不会让您陷入困境. AutoScaleDimensions属性是基于视频适配器的DPI设置自动生成的.这与XP机器不同.您的开发机器上有120点/英寸,XP上有96 DPI(默认值).在Win7上,由小部件设置,看起来像一个标尺,控制面板显示,“设置自定义文本大小(DPI)”. AutoScaleMode属性已正确设置为Font.这可确保自动缩放所有控件以适合字体大小.由于DPI设置较高,Win7机器上的哪个更大.因此,表格及其控件在XP机器上缩小. NumericUpDown控件的问题在于它有点错误(不止一种方式),它不能正确缩放上/下字形.它们按比例过大,没有为文本部分留出足够的空间.简单地使它更宽一点就解决了这个问题. 自动缩放相当丑陋,很少100%完美.最好的办法是将您的开发机器切换到96 dpi.这是一个非常常见的环境,至今仍在扩展几乎总是比缩小更好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 【java+selenium3】Tesseract-OCR识别图片验证码 (十六)
- windows-xp – Windows延迟写入失败 – USB 2.0集线器和外部
- windows-server-2012 – 如何在Windows Server 2012中为IIS
- windows – 存在多个网络连接时的“主要”DNS
- windows – TrueCrypt还是EFS?
- 什么是最小的Windows(PE)可执行文件?
- 在Windows中,应用程序事件日志中有哪些默认事件源可用?
- 良好的开源错误跟踪/问题跟踪sofware for Windows
- windows-phone-7 – 在wp7中查找IMEI否?
- 为什么我的应用程序的窗口在Windows 8中是灰色的,而不像其他
- 使用Burn作为WiX对话框和自定义操作的替代方法
- windows-phone-7 – 获取Windows Phone 7的当前I
- 单点登录 – 为什么ADFS不通过集成Windows身份验
- Windows鼠标右键菜单添加SublimeText打开选项
- .net – 我收到此错误无法执行请求,因为无法在II
- 使用嵌入式Microsoft Query在Excel Mac 2016 ODB
- windows 下自动备份mysql数据库,删除以前的数据
- windows-server-2008 – 文件打开时重启文件服务
- powershell – windows docker图像是否与windows
- 在Windows 8上使用gem安装SASS