这几天用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-细节的问题的更多相关文章

  1. 【JavaScript吉光片羽】遭遇IE8

    最初对做兼容性的认知只停留在UI层面,但其实UI层面都还好,因为毕竟你可以直接看得见现象,更为重要的是在JavaScript层面,因为这个部分涉及到功能性,前者最多是体验性的问题.下面扯一下这几天遇到 ...

  2. 【JavaScript吉光片羽】--- 滑动条

    灯光的亮度控制需要一个滑动条,先借用lamp源码中Bar: var Bar = function (opt) { var defaults = { $id: "", // 进度条d ...

  3. 【吉光片羽】js横向滚动与浮动导航

    1.横向滚动,这个方法是见过最简洁的了. #demo { background: #FFF; overflow: hidden; border: 1px dashed #CCC; width: 117 ...

  4. 【吉光片羽】ie6兼容性的几个点

    1.浮动换行.自己写个导航,li向左浮动,到ie6下全部错开了. --> 还是在现有bootstrap框架的基础上修改样式保险一些. <div id="mymenu" ...

  5. 【吉光片羽】MVC 导出Word的两种方式

    1.直接将Html转成Word.MVC自带FileResult很好用.Html中我们也可以嵌入自己的样式. html: <div id="target"> <st ...

  6. 【吉光片羽】之 Web API

    1.在asp项目中直接添加apiController,需要新增Global.asax文件.再增加一个webapiConfig,如果需要访问方式为"api/{controller}/{acti ...

  7. 奇怪的BUG

    熟语说“常在河边走,哪能不湿鞋”,在现实中我想说:“代码写多了,总会遇到奇怪的bug”,遇到bug不可怕,可怕的是不自己不知道这么解决,有些bug能当时解决,有些在自己知识水平提高后知道如何解决.还有 ...

  8. 奇怪的bug(ant-design)

    ant-motion模板代码启动报错. 多了一层 import 会导致 less 编译的顺序发生变化,很奇怪的问题,还需要再深入看看.目前 ant-d.less 可以先改成这样来解决: + @impo ...

  9. 小程序制作中 一个奇怪的bug

    事情是这样的:原一个购物车 合并本地数据和服务器 数据方法如下 ,正常测试没有问题,当每次重新登录,会调用到这个方法,就会莫名其妙的卡主,debug 发现 a1.length =77731508 导致 ...

随机推荐

  1. DSP(1) -- 离散时间信号的序列类型

    1.单位采样序列δ(n):在MATLAB 中函数zeros(1,N)产生一个由N个零组成的列向量.它可用来实现有限区间的δ(n).然而,更高明的方法是利用逻辑关系式n==0来实现δ(n). 2.单位阶 ...

  2. Charles

    1. charles使用教程指南+客户端弱网测试:http://blog.csdn.net/anualday/article/details/51423457 2.使用Charles对Https请求进 ...

  3. spring知识大全(4)

    5 Spring对事务的支持 一.AOP事务的含义: 事务当作一个切面,动态地织入到目标对象,形成一个代理对象. 二.Spring的事务机制 Spring支持声明式事务. Spring使用事务服务代理 ...

  4. 搭建maven环境

    有两种方式可以配置maven的环境配置,本人推荐使用第二种,即使用本地的maven安装文件,个人感觉这样可以方便管理下载jar包的存放位置,错误信息的输出等,可以在dos窗口中可以清晰看到,虽然比较麻 ...

  5. WCF 套接字连接已中止。这可能是由于处理消息时出错或远程主机超过接收超时或者潜在的网络资源问题导致的

    一个项目需要用到推送的功能,就是服务器主动推送数据给多台客户机.于是采用了WCF的双工通讯netTcpBinding 写好的项目,在本机测试都没有问题. 如果放在局域网内测试,问题出来了:先是安全性问 ...

  6. 文件操作总结 (Path,Directory,File)

    Path类就是对字符串的操作,与实际的文件没有任何关系 属性: Path.GetFileName("路径"), //获取文件名带后缀: Path.GetFileNameWithou ...

  7. echarts异步加载柱状图遇到的错误- Error: Component series. not exists. Load it first.

    今天看了下echarts教程之中的异步加载柱状图,我按照教程中的代码敲出来之后再运行,就报了一个 Error: Component series. not exists. Load it first. ...

  8. Swift基础语法(二)

    操作符 swift中运算符基本基础于c,下面我就给大家白话白话那些被优化过的运算符们 //加号减号的妙用 var a= var b= -a//此时b=-1 var c = +b//此时 c=-1 va ...

  9. javaWeb开发小工具---MailUtils及其单元测试

    本次介绍的是,在javaWeb开发中,我们不免会遇到发送邮件的需求,比如:用户注册账号,需要激活登录,以及服务器定期向会员发送礼品信息等.所以参考有关资料,写了这个MailUtils工具类. 1.Ma ...

  10. HDU 4336 Card Collector (期望DP+状态压缩 或者 状态压缩+容斥)

    题意:有N(1<=N<=20)张卡片,每包中含有这些卡片的概率,每包至多一张卡片,可能没有卡片.求需要买多少包才能拿到所以的N张卡片,求次数的期望. 析:期望DP,是很容易看出来的,然后由 ...