(原创)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 ...
随机推荐
- [源码解析] PyTorch 流水线并行实现 (2)--如何划分模型
[源码解析] PyTorch 流水线并行实现 (2)--如何划分模型 目录 [源码解析] PyTorch 流水线并行实现 (2)--如何划分模型 0x00 摘要 0x01 问题 0x01 自动平衡 1 ...
- 深入HTML5第一天
页面的title一般是30-40个字符:分别为主页,详情页,列表页 keywords:100个字符 description: em是:emphasize: 强调,着重 i:italic斜体的 : ...
- centos7 发送邮件
yum install sendmail mailx sharutils mutt libreport-plugin-mailx -y yum update libreport-plugin-mail ...
- python学习笔记(九)-函数2
交换两个变量的值 a = 2 b = 1 b = 1 a = 2 #方式一: b,a = a,b #交换两个变量的值 print(a,b) #方式二: a = a + b #3 b = a - b # ...
- 浅谈语音质量保障:如何测试 RTC 中的音频质量?
日常音视频开会中我们或多或少会遭遇这些场景:"喂喂喂,可以听到我说话吗?我听你的声音断断续续的","咦,我怎么可以听到回声?","太吵啦,我听不清楚你 ...
- CF891B-Gluttony【构造】
正题 题目链接:https://www.luogu.com.cn/problem/CF891B 题目大意 给出\(n\)个数字互不相同的一个序列\(a\),求它的一个排列\(b\),使得选出任意一个\ ...
- iOS自定义拍照框拍照&裁剪(一)
卡片机时代 很重要的一点是,相机本身是没有方向概念的,它不理解拍摄的内容,只会以相机自己的坐标系去保存数据,下图展示了相机对"F"进行四个角度拍摄时返回的图片数据. 最初的卡片机时 ...
- bzoj1407,洛谷2421 NOI2002荒岛野人
题目大意: 克里特岛以野人群居而著称.岛上有排列成环行的M个山洞.这些山洞顺时针编号为1,2,-,M.岛上住着N个野人,一开始依次住在山洞C1,C2,-,CN中,以后每年,第i个野人会沿顺时针向前走P ...
- SpringBoot 后端接收前端传值的方法
1.通过HttpServletRequest接收,适用于GET 和 POST请求方式 通过HttpServletRequest对象获取请求参数 @RestController @Reque ...
- Endian
Endian 寻址 多字节对象被存储为连续的字节序列,对象的地址为所使用字节中最小的地址. 例如,假设一个类型为 int 的变量 a 的地址为 0x100,也就是说,地址表达式 &a 的值为 ...