软媒设计
'[C#]C#.Net开发的诡异行为'

最近一直在搞C#的开发,因为学的是Java语言,自学C#感觉还是没有压力的;但是,开发了一段时间却发现在.Net下有一些匪夷所思的问题,不知道各位搞C#开发的是否遇见过。

问题1:

在使用WinFrom做界面开发时,为了界面的美观经常会使用到图片美化;但是在生成出来以后却问题不断,比如16Bit背景竟然无法透明,后来经过测试发现竟然是背景颜色的问题,当时无语了!

又在XP下进行了测试,却发现更加严重的问题,不经界面背景没法透明,连Label都变成黑色的了,实在是不解;我设计的初衷是让这个界面做信息显示的界面,会从右下角移动显示出来,Win8测试一切正常,却在XP下出现如此问题,实在是无法理解呀!

XP下动态界面显示问题

解决:

发现只要修改分辨率等刷新操作,界面就恢复正常了,在MSDN中寻找了一圈并没有发现有对界面刷新的方法,后来通过不断的测试发现,只要让界面固定不动就可以正常的显示,真不知道这是为什么,于是用了一个panel,让这个panel运动发现问题解决,唉~无助呀


问题2:

因为一项的追求完美,最新体验,于是我把系统更新到了Win8 64Bit,并且使用了Visual Studio 2012最为我的开发工具,但是诡异是事情再次发生;为了让程序能在大多数电脑上运行,而用安装烦人的dotNetFX,于是我采用了dotNetFX3.5作为框架版本,但是让我意外的是,我在程序中调用了WebClient方法,除了Win8以外所有的系统竟然都无辜崩溃,并且捕获不到任何的异常,就是运行到调用的地方程序自动退出,实在是不知道怎么办好了~

解决:

把dotNetFX更改为4.0的时候问题自动消失了~难道Win8下的dotNetFX3.5是特制的?还是编译器的Bug呢?不得而知呀~

微软为了和Java竞争,开发了C#,为了有更好的跨平台,使用了dotNet,但是以上的两个问题并没有更好的体现出来dotNet优秀的跨平台,反而制造了一些不应该出现的Bug!不能理解