在 C# 中创建不规则窗体是一件极其轻松的事,不需要 了解复杂的图形图像知识,依靠.NET为我们提供的类库,可 以轻易做出这种效果来。
一、建立一幅作为窗体的位图文件,取名 test.bmp。
public void OnPaint(object sender, PaintEventArgs e)
{
Bitmap bitmap = new Bitmap("test.bmp"); //装入位图
bitmap.MakeTransparent(Color.White); //设置位图透明色
//在窗体上绘制位图
e.Graphics.DrawImage(bitmap,0,0,bitmap.Width,bitmap.Height);
}
把 test.bmp 放在工程的 Debug 目录下面,运行程序.
二、设置窗体属性
属性 值 说明
BackColor Control BackColor与TransparencyKey值需相同 TransparencyKey Control
FormBorderSytle None 无标题窗体
需要注目的是,只有在 Windows 2000 以上平台才能实 现透明窗体效果。
三、为窗体 Paint 事件添加代码
1.在窗体构造函数中添加 Paint 事件声明
this.Paint += new System.Windows.Forms.PaintEventHandler
(this.OnPaint);
2.修改 OnPaint 事件代码
通过本文,我们可以发现在 C#下创建不规则窗体是件 相当容易的事。我们要做的只是如何花精力制作一幅漂亮的 不规则的图像,而代码的编写是一件轻而易举的事情。相信 读者在读完本文后,对在.Net下创建丰富的用户界面有了基 本的了解,从而创建出更丰富的、更富有时代特色的用户界面。 [CX03]
件卸载及注册表修改这一卸载过程的程序。 新建名为 Uninstall.js 的文件,输入如下代码并将它与
Setup.js 等文件放在同一目录下,以后用户双击该文件即可 完成整个卸载过程:
//删除右键菜单在注册表中的注册信息,删除右键菜单与执行文件的关 联
function regoperate() {
//删除各注册表主键
WSHShell.RegDelete("HKCU\\Software\\Microsoft\\Internet
Explorer\\MenuExt\\用FlashGet下载所有Flash动画\\");
}
//函数功能:用于完成文件的删除和程序注册信息的删除
// 初始化 FSO组件对象
var fso=new ActiveXObject("Scripting.FileSystemObject");
var fn,windir;
windir=fso.GetSpecialFolder(0);
fn=windir+"\\jc_swf.htm"; //生成安装路径与目的文件名 fso.DeleteFile(fn,true); //删除可执行文件,执行卸载操作 var WSHShell = WScript.CreateObject("WScript.Shell");
regoperate();
WSHShell.Popup("程序:冰点在线网页Flash动画下载程序 1.04 卸载成 功!",0,"卸载程序");
五、编程后的思考
至此,网页 Flash 动画下载程序就全部完成了。实际上, 在使用下载工具下载 Flash 动画这一问题上,我们还可以使 用 NetAnts 作为本程序的下载工具。我们只须将程序中的启 动 FlashGet 和向 FlashGet 传递参数的两条语句,按照 NetAnts 的要求修改即可。同样的方法,我们可以参考 NetAnts 的安 装目录中的相关文件来解决这个问题,有兴趣的朋友请与我 联系。
如果你有什么问题或建议,或者你想就上面的问题与 我进行探讨,请与我联系。我的E-mail是:ghlfllz@sina.com。 源程序下载地址:http://www.cfan.net.cn/qikan/cfan/
source/0302bcs.zip。