VB.NET异形窗体

我入手vb已经有一年多了。目前是在校大学生,之前一直很迷恋VB6。但我知道知识必须要更新,所以开始了VB.NET。从最简单的界面开始做起。异形窗体在很多场合都会用到。我们常见的游戏登录界面,ADOBE家的所有软件,启动界面都是一个异形窗体。今天我也来教大家如何实现异形窗体设计。
首先, 打开开发环境,我用的是vb2010学习版! VB.NET异形窗体
然后将窗体边框调成无边框模式
FormBorderStyle = Windows.Forms.FormBorderStyle.None
再加载一张透明背景的PNG格式图片如下图
再将图片的伸缩模式调整一下
BackgroundImageLayout = ImageLayout.Stretch
窗体的启动位置放在屏幕中间
StartPosition = FormStartPosition.CenterScreen
然后就是这个样子VB.NET异形窗体

这个时候背景图片的透明部分还是有背景色的。接下来,我们要将背景色去掉。我们将窗体这两个属性调整一下
BackColor = Color.Gray 背景颜色
TransparencyKey = Color.Gray 透明部分颜色阀值
将这两个颜色调成一样,就相当于系统进行运算,将背景颜色变成无色透明的。看下效果VB.NET异形窗体
我的图片是在网上找的不会抠图所以有杂边。而且这个背景颜色要尽量与图片上的颜色不要有大面积重色。不然,图片上的某些颜色也会被处理成透明色!
无边框窗体是没办法拖动的。我们这里用鼠标的移动事件来解决。看过很多大神写的无边框窗体拖动方案,但总觉得写的太麻烦,三两行代码就能解决的问题绝对不要多写半个字。代码如下
VB.NET异形窗体