【吉光片羽】奇怪的Bug-细节的问题
这几天用Winform开发了一个小界面,遇到几个奇怪的问题,记录一下。
1.背景图片漏光。
当时很是奇怪,以为是图片的问题,让美工重新发,改成jpg也都存在。很是奇怪,原图这个地方肉眼看是不透明的,而且这个漏光还是对称的,在图片的右边也有一个同样的漏光区域。最后重建工程,这个现象消失了,再比对代码,是这一句:
this.TransparencyKey = System.Drawing.Color.FromArgb(((int)(((byte)()))), ((int)(((byte)()))), ((int)(((byte)()))));
去掉或者换成White就好了。之前在调样式的时候设置过这个属性,开始不懂,以为是设置窗体透明的,真正的用法是表示要在窗体上透明显示的颜色。而图片下方的区域有的颜色刚好被透明就出现了上面奇怪纹理的漏光现象。
MSDN:https://msdn.microsoft.com/zh-cn/system.windows.forms.form.transparencykey
2.图片自适应。
测试人电脑上显示结果都正常,除了PM的电脑显示是这样个样子
当时心中就想,这是什么鬼啊。过去发现,PM的桌面图标都比较大,他电脑里面的设置是这样的 控制面板--外观个性化--显示
改成较小就正常了,但不能要求客户这样吧。图片不自适应了,回去修改了一句:开始选的center.
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
添加背景图片之后,美工的图片大小匹配也没有注意到这个问题。还是要平铺的好。
3.选中黑框。
虽然说是将border设置成0,颜色透明,但在按Tab切换的时候,还是出现了选中的黑框。
焦点状态就是有个印记,折中的办法:和背景颜色相近的Border颜色,不留心还不好发现。
button1.FlatAppearance.BorderColor
最后,换成PictureBox 没有了这个问题。
小结:对于改bug这件事情,只要写程序,基本上天天都会经历,而得出的经验是:凡是bug,必有原因。有时候看似诡异的bug,可能原因很简单。有时候一个人思维太僵化,几个人讨论一下,就会发现问题在哪儿。漏光的那个问题,我嘀咕了几天,也找不到什么资料,最后和同事一起解决了,发现只是属性设置的问题。
【吉光片羽】奇怪的Bug-细节的问题的更多相关文章
- 【JavaScript吉光片羽】遭遇IE8
最初对做兼容性的认知只停留在UI层面,但其实UI层面都还好,因为毕竟你可以直接看得见现象,更为重要的是在JavaScript层面,因为这个部分涉及到功能性,前者最多是体验性的问题.下面扯一下这几天遇到 ...
- 【JavaScript吉光片羽】--- 滑动条
灯光的亮度控制需要一个滑动条,先借用lamp源码中Bar: var Bar = function (opt) { var defaults = { $id: "", // 进度条d ...
- 【吉光片羽】js横向滚动与浮动导航
1.横向滚动,这个方法是见过最简洁的了. #demo { background: #FFF; overflow: hidden; border: 1px dashed #CCC; width: 117 ...
- 【吉光片羽】ie6兼容性的几个点
1.浮动换行.自己写个导航,li向左浮动,到ie6下全部错开了. --> 还是在现有bootstrap框架的基础上修改样式保险一些. <div id="mymenu" ...
- 【吉光片羽】MVC 导出Word的两种方式
1.直接将Html转成Word.MVC自带FileResult很好用.Html中我们也可以嵌入自己的样式. html: <div id="target"> <st ...
- 【吉光片羽】之 Web API
1.在asp项目中直接添加apiController,需要新增Global.asax文件.再增加一个webapiConfig,如果需要访问方式为"api/{controller}/{acti ...
- 奇怪的BUG
熟语说“常在河边走,哪能不湿鞋”,在现实中我想说:“代码写多了,总会遇到奇怪的bug”,遇到bug不可怕,可怕的是不自己不知道这么解决,有些bug能当时解决,有些在自己知识水平提高后知道如何解决.还有 ...
- 奇怪的bug(ant-design)
ant-motion模板代码启动报错. 多了一层 import 会导致 less 编译的顺序发生变化,很奇怪的问题,还需要再深入看看.目前 ant-d.less 可以先改成这样来解决: + @impo ...
- 小程序制作中 一个奇怪的bug
事情是这样的:原一个购物车 合并本地数据和服务器 数据方法如下 ,正常测试没有问题,当每次重新登录,会调用到这个方法,就会莫名其妙的卡主,debug 发现 a1.length =77731508 导致 ...
随机推荐
- 公网,专用,共享独立IP介绍
什么是IP地址? IP地址也被称为InternetProtocol地址,IP地址被用于在互联网上确定不同的计算机和设备.你可以认为它像一个邮寄信封一个家庭返回地址,只在数字和时间使用.IP地址被用于在 ...
- 不支持C++11 decltype的噩耗
前言:因为公司现在使用vs2008,所以很多c++11的新特性还未能使用,导致写了很多冤枉代码. 最初引擎的数学库非常简单,使用起来也不方便,例如: float FastLerp(const floa ...
- Keep It Simple Stupid!
Kelly Johnson提出了KISS原则.他是一个飞机工程师以及航空发明家,同时也是一个管理天才,他一生中主要设计了40多架飞机,获得的荣誉相当之多,总之,很牛. 这个原则是对Johnson带领的 ...
- myeclipse中UTF-8设置
myeclipse中UTF-8设置 如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出,则最好使 Java文件使用UTF-8编码.然而,Eclipse工作空间(workspace ...
- 在DW 5.5+PhoneGap+Jquery Mobile下搭建移动开发环境
移动设备应用开发有多难,只要学会HTML5+Javascript就可以.用Dreamweaver5.5+PhoneGap+Jquery Mobile搭建移动开发环境,轻轻松松开发你自己的应用.让你用普 ...
- 通俗易懂的 JSon解析处理
1.主要用到的类: 主要用到了JavaScriptSerializer类,该类在System.Web.Script.Serialization命名空间(在System.Web.Extensions.d ...
- IIS报错 试图加载格式不正确 的程序集解决办法
一般都是由于系统位数不一致导致的 方法:64位启用32应用程序兼容(推荐) 思路就是把程序池设置为对应的应用程序(即到底要不要启用32位应用程序)
- jQuery基础_2
属性:attr: 属性 , 元素.attr("属性名");获取属性attr("attr","value"): 设置属性attr({value ...
- TIS100入门向攻略
前几天某QQ群有人推荐这个游戏,百度了下找到了贴吧下载,但是攻略好像没找到,B站到是有个入门视频介绍还满有用的. 入门的话强烈推荐先看完了解个大概 http://www.bilibili.com/vi ...
- android 不同dpi图标大小
LDPI (Low Density Screen,120 DPI),其图标大小为 36 x 36 px.MDPI (Medium Density Screen, 160 DPI),其图标大小为 48 ...