设置背景透明的窗体,GDI+绘制异形WINFORM
在.Net环境下绘制矩形,椭圆形,三角形等形态的窗体是件很简单的事情,只要设置窗体的背景透明当你在窗体上绘制图形和控件时,是不会显示窗体的,这点MS的GDI+确实相比其他平台的实现方式更加方便和简单。
设置方式也很简单,首先设置FORM的BackColor为一个程序中不常用的颜色,然后再设置FORM的TransparenceKey为这个颜色就OK了。
在.Net环境下绘制矩形,椭圆形,三角形等形态的窗体是件很简单的事情,只要设置窗体的背景透明当你在窗体上绘制图形和控件时,是不会显示窗体的,这点MS的GDI+确实相比其他平台的实现方式更加方便和简单。
设置方式也很简单,首先设置FORM的BackColor为一个程序中不常用的颜色,然后再设置FORM的TransparenceKey为这个颜色就OK了。
最近学习了.net下的GDI+编程,下面小秀一下成果,使用GDI+编写的桌面魔方程序,今天把源代码放上,欢迎大家下载,如果机器上有.net环境的话可以直接运行bin目录下的MagicCube.exe进行游戏。
源代码下载地址
http://www.lidaren.com/code/magiccube/magiccube.zip
下面方式几个重要的算法程序
1,魔方正面九宫格90度翻转,这个只要细心观察翻转前和翻转后的魔方,你就可以得到答案
左转90度:以(0,0)(2,2)为对称轴翻转后,再以(1,0)(1,2)为对称轴翻转
右转90度:以(0,2)(2,0)为对称轴翻转后,再以(1,0)(1,2)为对称轴翻转
算法如下:
今天要分享的是一个简单的JavaScript编写和实现的可变动态密码输入控件,可以动态的生产数字键盘并显示,并且可以实现每次点击后密码键盘重新加载,可以手动控制隐藏和显示,手动控制刷新等功能。
相信经常登陆网上银行或者某些游戏网站的朋友应该会经常看到这个控件,其实实现起来原理并不复杂,主要是通过随机生产数字,然后通过hash算法,安排数字的位置,这里用了最简单的占位算法,虽然效率比较低(o(n^2)),但是处理10个数字(最差是55次)是足够的,如果带上字母键盘和特殊字符的话,建议更换算法。
字节的中心转置反转,这是一道的IBM技术面试题,供参考
原题如下:
给定一个任意字节长度的数据(以一个Byte为例),要求实现数据的位中心翻转,
也就是数据的对称位数据交换,比如:
1010 1100 -> 0011 0101
1111 1111 -> 1111 1111
0000 0000 -> 0000 0000
1111 0000 -> 0000 1111
解题思路也很简单,只要使用位运算实现以下的位变化即可,但是需要考虑到其他
位的情况,注意运算符的使用即可,IBM不愧是IBM
11 – > 11
00 – > 00
10 – > 01
01 – > 10
详细Ajax技术对于一个Web开发者来说应该是很熟悉的东西了,Ajax的出现让web页面交互有了革命化的变化。对于Ajax来说,JQuery是一个不可多得的好JS库,但是很多朋友并不了解Jquery对Ajax的实现过程,或者说不太了解,这点CG在此是不提倡的,CG写下面代码一方面是为了解决一位网友的疑问,同时也希望那些如果想在Jquery技术上有深入提高的朋友能够多看看Jquery源代码。
CG在ETP基地的培训也有一段时间了,这期间也有几次考试,下面将要分享的是最近一次笔试的考试题目,该题算是JAVA考试的附加题,要求也很简单,下面是原题
二维数组的长度和初始值均由输入确定,如何求出此数组的全排列组合,
即:int a[X][X] = {{X,X,X},…}如下
int a[3][3] = {{1,2,3},{4,5,6},{7,8,9}}
或者是 int a[4][4] = {{1,2,3,4},{4,5,6,7},{7,8,9,10}}
计算a[3][3]的结果如下:
147,148,149
157,158,159
167,168,169
247,248,249
…………
相信LightBox之类的页面弹出窗口,大家在浏览的时候也应该是很常见的,实现起来也不算太困难,CG今天把在上次发布的ETP项目源代码中的JS部分提取出来,方便大家学习和使用。
实现原理:利用DIV的浮动和层的重叠,将对话框的Z-index设置为最高就可以了另外对于遮罩层来说,只要使遮罩层在对话框层之下,其他页面元素之上即可,如果需要美观的话,可以设置半透明效果。
Recent Comments