C# 自制水晶按钮(很漂亮)

独孤侠客 2012-07-27 04:57:56
网上找的,直接上代码,供初学者学习借鉴:

using System;
using System.Drawing;
using System.Windows.Forms;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;

namespace GButton
{
public partial class GZXButton : Button
{
private enum MouseActionType
{
None,
Hover,
Click
}
private MouseActionType mouseActionType;
private ImageAttributes imgattr = new ImageAttributes();//实例化一个图像属性类
private Bitmap btnbmp;//定义一个位图
private Rectangle btnrc;//定义一个矩形

public GZXButton()
{
InitializeComponent();
mouseActionType = MouseActionType.None;
this.SetStyle(ControlStyles.AllPaintingInWmPaint|//禁止擦除背景
ControlStyles.DoubleBuffer|//双缓冲
ControlStyles.UserPaint,true);
//下面这些可以不设置,也可以自己定义
this.Font = new Font("Aial Black", 12, FontStyle.Bold);
this.BackColor = Color.DarkTurquoise;
this.Size = new Size(112, 48);
}
/// <summary>
/// 按钮形状
/// </summary>
/// <param name="rc">按钮的坐标和大小</param>
/// <param name="r">按钮圆弧的半径</param>
/// <returns>返回按钮形状</returns>
private GraphicsPath GetGraphicsPath(Rectangle rc, int r)
{
int x = rc.X, y = rc.Y, w = rc.Width, h = rc.Height;
GraphicsPath gpath = new GraphicsPath();
gpath.AddArc(x, y, r, r, 180, 90);//左上角圆弧
gpath.AddArc(x + w - r, y, r, r, 270, 90);//右上角圆弧
gpath.AddArc(x + w - r, y + h - r,r, r, 0, 90);//右下角圆弧
gpath.AddArc(x, y + h - r, r, r, 90, 90);//左下角圆弧
gpath.CloseFigure();//闭合
return gpath;
}
protected override void OnPaint(PaintEventArgs pe)
{
// base.OnPaint(pe);
Graphics g = pe.Graphics;//创建画布
g.Clear(SystemColors.ButtonFace);//重置背景颜色,可以自定义
Color clr = this.BackColor;
int btnOff = 0;//按钮边距
int shadowOff = 0;//阴影边距
switch (mouseActionType)
{
case MouseActionType.None:
break;
case MouseActionType.Hover:
clr = Color.LightGray;
break;
case MouseActionType.Click:
shadowOff = 4;
clr = Color.LightGray;
btnOff = 2;
break;
default:
break;
}
g.SmoothingMode = SmoothingMode.AntiAlias;//消除锯齿
//创建按钮本身的图形
Rectangle rc1 = new Rectangle(btnOff, btnOff, this.ClientSize.Width - 8 - btnOff, this.ClientSize.Height - 8 - btnOff);
GraphicsPath gpath1 = this.GetGraphicsPath(rc1, 20);
LinearGradientBrush br1 = new LinearGradientBrush(new Point(0, 0), new Point(0, rc1.Height + 6), clr, Color.White);
//创建按钮阴影
Rectangle rc2 = rc1;
rc2.Offset(shadowOff, shadowOff);
GraphicsPath gpath2 = this.GetGraphicsPath(rc2, 20);
PathGradientBrush br2 = new PathGradientBrush(gpath2);
br2.CenterColor = Color.Black;
br2.SurroundColors = new Color[] { SystemColors.ButtonFace };
//为了更逼真,我们将渐变结束颜色设定为窗体前景色,可以根据窗口的前景颜色适当调整
//创建按钮顶部白色渐变
Rectangle rc3 = rc1;
rc3.Inflate(-5, -5);
rc3.Height = 15;
GraphicsPath gpath3 = GetGraphicsPath(rc3, 20);
LinearGradientBrush br3 = new LinearGradientBrush(rc3, Color.FromArgb(255, Color.White), Color.FromArgb(0, Color.White), LinearGradientMode.Vertical);
//绘制图形
g.FillPath(br2, gpath2);//绘制阴影
g.FillPath(br1, gpath1);//绘制按钮
g.FillPath(br3, gpath3);//绘制顶部白色泡泡
//设定内存位图对象,进行二级缓存绘图操作
btnrc = new Rectangle(rc1.Location, rc1.Size);
btnbmp = new Bitmap(btnrc.Width, btnrc.Height);
Graphics g_bmp = Graphics.FromImage(btnbmp);
g_bmp.SmoothingMode = SmoothingMode.AntiAlias;
g_bmp.FillPath(br1, gpath1);
g_bmp.FillPath(br3, gpath3);
//将region赋值给button
Region rgn = new Region(gpath1);
rgn.Union(gpath2);
this.Region = rgn;
//绘制按钮的文本
GraphicsPath gpath4 = new GraphicsPath();
RectangleF gpath1bounds = gpath1.GetBounds();
Rectangle rcText = new Rectangle((int)gpath1bounds.X + btnOff, (int)gpath1bounds.Y + btnOff, (int)gpath1bounds.Width,
(int)gpath1bounds.Height);
StringFormat strFormat = new StringFormat();
strFormat.Alignment = StringAlignment.Center;
strFormat.LineAlignment = StringAlignment.Center;//横竖都居中
gpath4.AddString(this.Text, this.Font.FontFamily, (int)this.Font.Style, this.Font.Size, rcText, strFormat);
Pen txtPen = new Pen(this.ForeColor, 1);
g.DrawPath(txtPen, gpath4);
g_bmp.DrawPath(txtPen, gpath4);
}
protected override void OnMouseDown(MouseEventArgs mevent)
{
if (mevent.Button == MouseButtons.Left)
{
this.mouseActionType = MouseActionType.Click;
this.Invalidate();
}
base.OnMouseDown(mevent);
}
protected override void OnMouseUp(MouseEventArgs mevent)
{
this.mouseActionType = MouseActionType.Hover;
this.Invalidate();
base.OnMouseUp(mevent);
}
protected override void OnMouseHover(EventArgs e)
{
this.mouseActionType = MouseActionType.Hover;
this.Invalidate();
base.OnMouseHover(e);
}
protected override void OnMouseEnter(EventArgs e)
{
this.mouseActionType = MouseActionType.Hover;
this.Invalidate();
base.OnMouseEnter(e);
}
protected override void OnMouseLeave(EventArgs e)//鼠标离开事件
{
this.mouseActionType = MouseActionType.None;
this.Invalidate();
base.OnMouseLeave(e);
}
}
}



这个始终不会发图,有人告诉我吗?我没有可以放图片的网上空间。。。。
...全文
1209 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ti8song53 2014-11-12
  • 打赏
  • 举报
回复
很好用……我用这个方法做了一个自定义控件……谢谢啦……
  • 打赏
  • 举报
回复
引用 10 楼 dujiyong 的回复:
这怎么用啊,我是新手
自己新建一个项目,在项目上右键新建窗体或者控件,把代码贴进去,右键项目生成,然后在工具箱引用你刚才生成的exe文件就行了,用的时候从工具箱拖进来
dujiyong 2013-12-27
  • 打赏
  • 举报
回复
这怎么用啊,我是新手
jwx0925 2012-12-11
  • 打赏
  • 举报
回复
您好,我想问下这是添加在用户控件类中的吗?
wakilili 2012-09-02
  • 打赏
  • 举报
回复
谢谢,确实做的很漂亮,找了好久了,终于找了个好的
独孤侠客 2012-07-30
  • 打赏
  • 举报
回复
鼠标up的状态

鼠标down的状态
青天流雲 2012-07-27
  • 打赏
  • 举报
回复
给个图瞧瞧呗
bigbaldy 2012-07-27
  • 打赏
  • 举报
回复
感谢楼主分享,不过做界面还是WPF吧,用Blend画,那简直太方便了,而且非常漂亮
续写经典 2012-07-27
  • 打赏
  • 举报
回复
如此强大,楼主上个图片啊
mizuho_2006 2012-07-27
  • 打赏
  • 举报
回复
我也在网上找过好几个重写的按钮,都挺漂亮的。
但用的太多会影响效率,以前用几个重写后的processbar后CPU占用率就接近100%了

还是用 WPF做的漂亮些
bdmh 2012-07-27
  • 打赏
  • 举报
回复
他图片放到空间里,引入连接
C#示例源码 C#示例 C#源码 C#示例源代码 C#源代码 C#源代码例子 C#例子 注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(5-8)、明日科技《C#示例源代码》(9-12)、明日科技《C#示例源代码》(13-16)、明日科技《C#示例源代码》(17-20)。 源代码目录: 第1章 窗体及菜单设计 实例001 自定义最大化、最小化和关闭按钮 2 实例002 磁性窗体的设计 5 实例003 鼠标穿透窗体 12 实例004 窗体的浮动及隐藏 14 实例005 手动改变自制窗体的大小 16 实例006 自定义屏保 19 实例007 向窗体中拖放图片并显示 22 实例008 仿Windows XP系统的任务栏菜单 26 实例009 用树型列表动态显示菜单 28 第2章 控件开发与应用 实例010 自定义水晶按钮控件 34 实例011 自制数值文本框组件 38 实例012 美化单选按钮和复选按钮 43 实例013 重绘ListBox控件 48 实例014 带行数和标尺的RichTextBox 49 实例015 根据文件大小显示文件复制进度条 54 实例016 弹出模式窗口显示进度条 58 实例017 Popup窗口提醒 61 实例018 Vista风格的日历 64 实例019 像Excel一样复制DataGridView中的单元格区域数据 69 实例020 DataGridView中单元格合并及添加、显示行号 74 实例021 从DataGridView控件中拖放数据到TreeView控件 78 第3章 图形图像及多媒体应用 实例022 生成中文验证码 86 实例023 生成图片缩略图 88 实例024 不失真压缩图片 90 实例025 批量图像格式转换 93 实例026 屏幕颜色拾取器 96 实例027 为数码照片添加日期 98 实例028 批量添加图片水印 100 实例029 仿QQ截图功能 104 实例030 屏幕抓图 107 实例031 抓取网站整页面 109 实例032 电子石英钟 113 实例033 图片自动播放 115 实例034 MP3播放器 118 实例035 播放FLV文件 121 实例036 Flash播放器 125 第4章 报表打印技术 实例037 自定义横向或纵向打印 130 实例038 自定义打印页码范围 133 实例039 分页打印 138 实例040 打印条形码 141 实例041 打印学生个人简历 145 实例042 打印商品入库单据 148 实例043 批量打印学生证书 150 实例044 动态绑定水晶报表 153 实例045 设计信封标签报表 157 实例046 设计汇款单式报表 157 第5章 鼠标键盘控制 实例047 自定义动画鼠标 161 实例048 鼠标设置器 163 实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置桌面背景 196 实例055 音乐风景桌面 198 实例056 定时关闭计算机 201 实例057 设置任务栏时间 205 实例058 CPU使用率 206 实例059 进程管理器 209 实例060 数字大小写转换 212 实例061 系统挂机锁 214 实例062 全角半角转换 218 实例063 动态系统托盘图标 221 实例064 开机启动项管理 224 实例065 显示器控制 228 实例066 屏幕放大镜 231 实例067 身份证号码验证工具 233 第7章 文件及数据流应用 实例068 文件批量更名 241 实例069 分割与合成文件 244 实例070 伪装文件夹 247 实例071 获取所有逻辑磁盘目录 250 实例072 汉字转拼音 253 实例073 使用C#操作INI文件 255 实例074 使用C#操作XML文件 257 实例075 创建PDF文档 261 实例076 批量将Word文档转换为HTML网页 263 实例077 Word目录提取工具 265 实例078 文件批量解压缩 269 第8章 网络开发应用 实例079 局域网端口扫描 276 实例080 局域网IP地址扫描 280 实例081 自动更换IP地址 283 实例082 IP地址及手机号码归属地查询 286 实例083 获取网络信息及流量 290 实例084 获取指定地区天气预报 292 实例085 发送与接收邮件 297 实例086 调用OutLook发送邮件 304 实例087 以断点续传方式下载文件 306 实例088 远程关闭与重启计算机 308 实例089 点对点聊天程序设计 311 实例090 网络电台 314 第9章 数据库及LINQ技术 实例091 通用数据库连接 319 实例092 读取数据库中的数据表结构 324 实例093 对数据库进行分离、附加、备份及还原操作 331 实例094 综合查询职工详细信息 338 实例095 使用二进制存取用户头像 342 实例096 使用交叉表实现商品销售统计 345 实例097 通过视图修改职工信息 347 实例098 通过存储过程对职工信息进行管理 350 实例099 使用触发器添加、修改及删除职工信息 356 实例100 使用LinqToSql操作SQL数据库 358 实例101 使用LinqToObjects操作数组及集合 363 实例102 使用LinqToDataSet操作数据集 365 实例103 使用LinqToXML操作XML文件 369 第10章 程序安全控制 实例104 防止SQL注入式攻击 377 实例105 对文件进行加密保护 378 实例106 对数据报进行加密保障通信安全 384 实例107 使用伪随机数加密技术加密用户登录密码 388 实例108 使用口令加密可执行文件 390 实例109 限制软件的使用次数 394 实例110 使用强名称标识软件 399 实例111 软件加壳常用工具及使用 400 第11章 硬件开发技术 实例112 加密狗实现软件注册 405 实例113 通过摄像头制作大头贴 408 实例114 短信猫实现短信投票 412 实例115 企业员工IC卡开发 416 实例116 多路视频监控 422 实例117 使用ID卡识别员工编号 428 实例118 使用数据采集器实现库存盘点 434 实例119 员工考勤指纹识别 436 第12章 游戏开发 实例120 贪吃蛇 444 实例121 华容道 451 实例122 俄罗斯方块 458 实例123 五子棋 466 技术要点对应实例位置 479
C#示例源码 C#示例 C#源码 C#示例源代码 C#源代码 C#源代码例子 C#例子 注意:本源代码共有20章节,分五部分上传,名称分别为:明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(1-4)、明日科技《C#示例源代码》(5-8)、明日科技《C#示例源代码》(9-12)、明日科技《C#示例源代码》(13-16)、明日科技《C#示例源代码》(17-20)。 源代码目录: 第1章 窗体及菜单设计 实例001 自定义最大化、最小化和关闭按钮 2 实例002 磁性窗体的设计 5 实例003 鼠标穿透窗体 12 实例004 窗体的浮动及隐藏 14 实例005 手动改变自制窗体的大小 16 实例006 自定义屏保 19 实例007 向窗体中拖放图片并显示 22 实例008 仿Windows XP系统的任务栏菜单 26 实例009 用树型列表动态显示菜单 28 第2章 控件开发与应用 实例010 自定义水晶按钮控件 34 实例011 自制数值文本框组件 38 实例012 美化单选按钮和复选按钮 43 实例013 重绘ListBox控件 48 实例014 带行数和标尺的RichTextBox 49 实例015 根据文件大小显示文件复制进度条 54 实例016 弹出模式窗口显示进度条 58 实例017 Popup窗口提醒 61 实例018 Vista风格的日历 64 实例019 像Excel一样复制DataGridView中的单元格区域数据 69 实例020 DataGridView中单元格合并及添加、显示行号 74 实例021 从DataGridView控件中拖放数据到TreeView控件 78 第3章 图形图像及多媒体应用 实例022 生成中文验证码 86 实例023 生成图片缩略图 88 实例024 不失真压缩图片 90 实例025 批量图像格式转换 93 实例026 屏幕颜色拾取器 96 实例027 为数码照片添加日期 98 实例028 批量添加图片水印 100 实例029 仿QQ截图功能 104 实例030 屏幕抓图 107 实例031 抓取网站整页面 109 实例032 电子石英钟 113 实例033 图片自动播放 115 实例034 MP3播放器 118 实例035 播放FLV文件 121 实例036 Flash播放器 125 第4章 报表打印技术 实例037 自定义横向或纵向打印 130 实例038 自定义打印页码范围 133 实例039 分页打印 138 实例040 打印条形码 141 实例041 打印学生个人简历 145 实例042 打印商品入库单据 148 实例043 批量打印学生证书 150 实例044 动态绑定水晶报表 153 实例045 设计信封标签报表 157 实例046 设计汇款单式报表 157 第5章 鼠标键盘控制 实例047 自定义动画鼠标 161 实例048 鼠标设置器 163 实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置桌面背景 196 实例055 音乐风景桌面 198 实例056 定时关闭计算机 201 实例057 设置任务栏时间 205 实例058 CPU使用率 206 实例059 进程管理器 209 实例060 数字大小写转换 212 实例061 系统挂机锁 214 实例062 全角半角转换 218 实例063 动态系统托盘图标 221 实例064 开机启动项管理 224 实例065 显示器控制 228 实例066 屏幕放大镜 231 实例067 身份证号码验证工具 233 第7章 文件及数据流应用 实例068 文件批量更名 241 实例069 分割与合成文件 244 实例070 伪装文件夹 247 实例071 获取所有逻辑磁盘目录 250 实例072 汉字转拼音 253 实例073 使用C#操作INI文件 255 实例074 使用C#操作XML文件 257 实例075 创建PDF文档 261 实例076 批量将Word文档转换为HTML网页 263 实例077 Word目录提取工具 265 实例078 文件批量解压缩 269 第8章 网络开发应用 实例079 局域网端口扫描 276 实例080 局域网IP地址扫描 280 实例081 自动更换IP地址 283 实例082 IP地址及手机号码归属地查询 286 实例083 获取网络信息及流量 290 实例084 获取指定地区天气预报 292 实例085 发送与接收邮件 297 实例086 调用OutLook发送邮件 304 实例087 以断点续传方式下载文件 306 实例088 远程关闭与重启计算机 308 实例089 点对点聊天程序设计 311 实例090 网络电台 314 第9章 数据库及LINQ技术 实例091 通用数据库连接 319 实例092 读取数据库中的数据表结构 324 实例093 对数据库进行分离、附加、备份及还原操作 331 实例094 综合查询职工详细信息 338 实例095 使用二进制存取用户头像 342 实例096 使用交叉表实现商品销售统计 345 实例097 通过视图修改职工信息 347 实例098 通过存储过程对职工信息进行管理 350 实例099 使用触发器添加、修改及删除职工信息 356 实例100 使用LinqToSql操作SQL数据库 358 实例101 使用LinqToObjects操作数组及集合 363 实例102 使用LinqToDataSet操作数据集 365 实例103 使用LinqToXML操作XML文件 369 第10章 程序安全控制 实例104 防止SQL注入式攻击 377 实例105 对文件进行加密保护 378 实例106 对数据报进行加密保障通信安全 384 实例107 使用伪随机数加密技术加密用户登录密码 388 实例108 使用口令加密可执行文件 390 实例109 限制软件的使用次数 394 实例110 使用强名称标识软件 399 实例111 软件加壳常用工具及使用 400 第11章 硬件开发技术 实例112 加密狗实现软件注册 405 实例113 通过摄像头制作大头贴 408 实例114 短信猫实现短信投票 412 实例115 企业员工IC卡开发 416 实例116 多路视频监控 422 实例117 使用ID卡识别员工编号 428 实例118 使用数据采集器实现库存盘点 434 实例119 员工考勤指纹识别 436 第12章 游戏开发 实例120 贪吃蛇 444 实例121 华容道 451 实例122 俄罗斯方块 458 实例123 五子棋 466 技术要点对应实例位置 479
目录: 第1章 窗体及菜单设计 实例001 自定义最大化、最小化和关闭按钮 2 实例002 磁性窗体的设计 5 实例003 鼠标穿透窗体 12 实例004 窗体的浮动及隐藏 14 实例005 手动改变自制窗体的大小 16 实例006 自定义屏保 19 实例007 向窗体中拖放图片并显示 22 实例008 仿Windows XP系统的任务栏菜单 26 实例009 用树型列表动态显示菜单 28 第2章 控件开发与应用 实例010 自定义水晶按钮控件 34 实例011 自制数值文本框组件 38 实例012 美化单选按钮和复选按钮 43 实例013 重绘ListBox控件 48 实例014 带行数和标尺的RichTextBox 49 实例015 根据文件大小显示文件复制进度条 54 实例016 弹出模式窗口显示进度条 58 实例017 Popup窗口提醒 61 实例018 Vista风格的日历 64 实例019 像Excel一样复制DataGridView中的单元格区域数据 69 实例020 DataGridView中单元格合并及添加、显示行号 74 实例021 从DataGridView控件中拖放数据到TreeView控件 78 第3章 图形图像及多媒体应用 实例022 生成中文验证码 86 实例023 生成图片缩略图 88 实例024 不失真压缩图片 90 实例025 批量图像格式转换 93 实例026 屏幕颜色拾取器 96 实例027 为数码照片添加日期 98 实例028 批量添加图片水印 100 实例029 仿QQ截图功能 104 实例030 屏幕抓图 107 实例031 抓取网站整页面 109 实例032 电子石英钟 113 实例033 图片自动播放 115 实例034 MP3播放器 118 实例035 播放FLV文件 121 实例036 Flash播放器 125 第4章 报表打印技术 实例037 自定义横向或纵向打印 130 实例038 自定义打印页码范围 133 实例039 分页打印 138 实例040 打印条形码 141 实例041 打印学生个人简历 145 实例042 打印商品入库单据 148 实例043 批量打印学生证书 150 实例044 动态绑定水晶报表 153 实例045 设计信封标签报表 157 实例046 设计汇款单式报表 157 第5章 鼠标键盘控制 实例047 自定义动画鼠标 161 实例048 鼠标设置器 163 实例049 屏蔽鼠标按键 167 实例050 虚拟键盘 172 实例051 设置/屏蔽系统热键 182 实例052 使用键盘控制窗体或控件的移动 189 实例053 多功能键盘 190 第6章 操作系统相关技术 实例054 利用API设置桌面背景 196 实例055 音乐风景桌面 198 实例056 定时关闭计算机 201 实例057 设置任务栏时间 205 实例058 CPU使用率 206 实例059 进程管理器 209 实例060 数字大小写转换 212 实例061 系统挂机锁 214 实例062 全角半角转换 218 实例063 动态系统托盘图标 221 实例064 开机启动项管理 224 实例065 显示器控制 228 实例066 屏幕放大镜 231 实例067 身份证号码验证工具 233 第7章 文件及数据流应用 实例068 文件批量更名 241 实例069 分割与合成文件 244 实例070 伪装文件夹 247 实例071 获取所有逻辑磁盘目录 250 实例072 汉字转拼音 253 实例073 使用C#操作INI文件 255 实例074 使用C#操作XML文件 257 实例075 创建PDF文档 261 实例076 批量将Word文档转换为HTML网页 263 实例077 Word目录提取工具 265 实例078 文件批量解压缩 269 第8章 网络开发应用 实例079 局域网端口扫描 276 实例080 局域网IP地址扫描 280 实例081 自动更换IP地址 283 实例082 IP地址及手机号码归属地查询 286 实例083 获取网络信息及流量 290 实例084 获取指定地区天气预报 292 实例085 发送与接收邮件 297 实例086 调用OutLook发送邮件 304 实例087 以断点续传方式下载文件 306 实例088 远程关闭与重启计算机 308 实例089 点对点聊天程序设计 311 实例090 网络电台 314 第9章 数据库及LINQ技术 实例091 通用数据库连接 319 实例092 读取数据库中的数据表结构 324 实例093 对数据库进行分离、附加、备份及还原操作 331 实例094 综合查询职工详细信息 338 实例095 使用二进制存取用户头像 342 实例096 使用交叉表实现商品销售统计 345 实例097 通过视图修改职工信息 347 实例098 通过存储过程对职工信息进行管理 350 实例099 使用触发器添加、修改及删除职工信息 356 实例100 使用LinqToSql操作SQL数据库 358 实例101 使用LinqToObjects操作数组及集合 363 实例102 使用LinqToDataSet操作数据集 365 实例103 使用LinqToXML操作XML文件 369 第10章 程序安全控制 实例104 防止SQL注入式攻击 377 实例105 对文件进行加密保护 378 实例106 对数据报进行加密保障通信安全 384 实例107 使用伪随机数加密技术加密用户登录密码 388 实例108 使用口令加密可执行文件 390 实例109 限制软件的使用次数 394 实例110 使用强名称标识软件 399 实例111 软件加壳常用工具及使用 400 第11章 硬件开发技术 实例112 加密狗实现软件注册 405 实例113 通过摄像头制作大头贴 408 实例114 短信猫实现短信投票 412 实例115 企业员工IC卡开发 416 实例116 多路视频监控 422 实例117 使用ID卡识别员工编号 428 实例118 使用数据采集器实现库存盘点 434 实例119 员工考勤指纹识别 436 第12章 游戏开发 实例120 贪吃蛇 444 实例121 华容道 451 实例122 俄罗斯方块 458 实例123 五子棋 466 技术要点对应实例位置 479

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧