(原创)WinForm中莫名其妙的小BUG——ComboBox 尺寸高度问题
一、前言
使用WinForm很久了,多多少少遇到一些小BUG。
这些小BUG影响并不严重,而且只要稍微设置一下就能正常使用,所以微软也一直没有修复这些小BUG。
本来并不足以写篇文章去记录,但是昨天遇到了一个新的小BUG,让我提起了兴趣去记录。
本篇文章只是记录BUG现象,及解决办法,并不会分析BUG产生的原理。
相信看完的你,一定会有所收获!
本文地址:https://www.cnblogs.com/lesliexin/p/15527747.html
二、BUG现象描述
在窗体的构造函数中,获取到的ComboBox高度不是设计器中显示的高度,而是默认的尺寸高度。
1,设计器
可以看到Size的高度是29。

2,代码
在构造函数中获取ComboBox的尺寸。

3,运行
可以看到,获取到的ComboBox的宽度是正确的,但是高度却不是29,而是20。

三、BUG触发条件
1,未手动修改ComboxBox控件尺寸。
2,ComboxBox的父窗体尺寸不是默认的“宋体,9pt”。(上面获取到的高度20,就是在默认的“宋体,9pt”下,ComboBox的高度)
3,在构造函数中获取ComboxBox尺寸。
四、解决办法
破坏上面的触发条件的任意一环即可。
如:手动重新设置ComboBox的尺寸;设置父窗体尺寸为“宋体,9pt”;不在构造函数中获取,而在Load事件中获取ComboBox尺寸等。
五、结束语
像这种触发条件比较苛刻的小BUG,遇到的人应该不多,而且解决起来也很简单,所以微软也重来没修复过。
我之所以会遇到这个问题,是因为在为某个软件进行高DPI适配时,需要获取ComboBox控件的高度,用来定位和作整体尺寸计算,但是每次运行后就会发现尺寸和位置不对,找了好久,才找到是ComboxBox的原因。
所以便通过一些测试,找出了这个Bug的触发条件,以及解决办法,以供有人在遇到相同的问题时能找到解决办法。毕竟我是在网上搜了好久都没找到,才不得不自己去排查解决的。
(原创)WinForm中莫名其妙的小BUG——ComboBox 尺寸高度问题的更多相关文章
- (原创)WinForm中莫名其妙的小BUG——RichTextBox自动选择字词问题
一.前言 使用WinForm很久了,多多少少会遇到一些小BUG. 这些小BUG影响并不严重,而且稍微设置一下就能正常使用,而且微软一直也没有修复这些小BUG. 写本系列文章,是为了记录一下这些无伤大雅 ...
- C# WinForm中的一些小问题
前言 记一些C#窗体应用编程中的小问题. DataGridView 设置Selected = true后实际选中行标依旧是第一行. 通常通过this.dataGridView1.Rows[i].Sel ...
- 记 移动端页面中莫名其妙的渲染BUG
问题描述: 在一个很简单的测试页面中 简单的两块布局,上下两块均没有单独设置字体大小,都用body继承的大小,即40px.我们现在给第一个块.fl 加上浮动 float:left; 另外一个块处于正 ...
- JS 中offset 的小bug 与解决方案。
一.发现bug准备工作,先定义一个div,然后给div加上样式 效果图如图所示: 二.编写正常的代码,同时给div加上一个id 会发现div图会向左缩进...直至消失. 三.添加代码bo ...
- c#(winform)中自定义ListItem类方便ComboBox添加Item项
1.定义ListItem类 public class ListItem { private string _key = string.Empty; private string _value = st ...
- winform中ComboBox实现text和value,使显示和值分开,重写text和value属性
winform的ComboBox中只能赋值text,显示和值是一样的,很多时候不能满足根本需要,熟悉B/S开发的coder最常用的就是text和value分开的,而且web下DropDownList本 ...
- C# WinForm 中ComboBox数据绑定的问题 (转)
来自:http://blog.sina.com.cn/s/blog_5fb9e26301013wga.html C# WinForm 中ComboBox数据绑定的问题 怎样让WinForm中的Comb ...
- [C#]WinForm 中 comboBox控件之数据绑定
[C#]WinForm 中 comboBox控件之数据绑定 一.IList 现在我们直接创建一个List集合,然后绑定 IList<string> list = new List<s ...
- 在winform中,禁止combobox随着鼠标一起滑动!
在winform中,如果form上或者是控件上有一个combobox控件,当你选择这个控件,当你鼠标移动其他地方,滑动鼠标时,这时combobox的选择值就会随之鼠标一起变化,如果你不想让comboB ...
随机推荐
- javascript / PHP [Design Patterns - Facade Pattern]
This pattern involves a single class which provides simplified methods required by client and delega ...
- [源码解析] PyTorch 流水线并行实现 (3)--切分数据和运行时系统
[源码解析] PyTorch 流水线并行实现 (3)--切分数据和运行时系统 目录 [源码解析] PyTorch 流水线并行实现 (3)--切分数据和运行时系统 0x00 摘要 0x01 分割小批次 ...
- netty系列之:使用netty搭建websocket服务器
目录 简介 netty中的websocket websocket的版本 FrameDecoder和FrameEncoder WebSocketServerHandshaker WebSocketFra ...
- 完美解决JavaIO流报错 java.io.FileNotFoundException: F:\ (系统找不到指定的路径。)
完美解决JavaIO流报错 java.io.FileNotFoundException: F:\ (系统找不到指定的路径.) 错误原因 读出文件的路径需要有被拷贝的文件名,否则无法解析地址 源代码(用 ...
- 关于open falcon 与nightingale 的一些调研
针对 open-falcon 与 nightingale 的调研 一.open-falcon 1.1 组件介绍 1.1.1 agent > agent用于采集机器负载监控指标,比如cpu.idl ...
- P4091-[HEOI2016/TJOI2016]求和【斯特林数,NTT】
正题 题目链接:https://www.luogu.com.cn/problem/P4091 题目大意 给出\(n\),求 \[\sum_{i=0}^n\sum_{j=0}^i\begin{Bmatr ...
- kubelet源码分析——关闭Pod
上一篇说到kublet如何启动一个pod,本篇讲述如何关闭一个Pod,引用一段来自官方文档介绍pod的生命周期的话 你使用 kubectl 工具手动删除某个特定的 Pod,而该 Pod 的体面终止限期 ...
- 火爆全网的《鱿鱼游戏》,今天用 Python 分析一波影评
Hello,各位读者朋友们好啊,我是小张~ 这不国庆嘛,就把最近很火的一个韩剧<鱿鱼游戏>刷了下,这部剧整体剧情来说还是非常不错的,很值得一看, 作为一个技术博主,当然不能在这儿介绍这部剧 ...
- 全网最新最详细最明白教程之Spring源码搭建,没有之一,超详细
相关帖子有很多但是都不是最新的Gradle,我在使用Gradle最新版编译的时候简直坑死我了,弄了好久.接下来给大家详细说一下这个安装过程,以及相关的软件版本号. 相关软件.依赖的版本号: Gradl ...
- MySQL MHA 运行状态监控
一 项目描述 1.1 背景 MHA(Master HA)是一款开源的 MySQL 的高可用程序,它为 MySQL 主从复制架构提供了 automating master failover 功能.MHA ...