系统管理-第5部分 监控
2008-07-23 10:51
239 查看
都知道光的三原色吧。他们是:红、绿、蓝。所有的颜色都可以通过这三个颜色搭配而成。通过他们的像素值的不断变化,就可以得到五颜六色了。
鼠标进入事件(获得焦点),
窗体加载事件(注册事件,调用方法),
鼠标滚动事件(判断方向,并设置三色的像素值)
下面看看怎么做到的:
//当鼠标进入红色区域时,该区域获得焦点 private void pbRed_MouseEnter(object sender, EventArgs e) { //将控件的类型转换成我们需要的PictureBox类型 PictureBox pb = (PictureBox)sender; //让这个PictureBox控件获得焦点 pb.Focus(); } /// <summary> /// 在窗体加载的时候,注册事件,当某事件发生的时候调用相应的方法来处理这个事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void Form1_Load(object sender, EventArgs e) { this.pbRed.MouseWheel += new MouseEventHandler(pbRed_MouseWheel); this.pbGreen.MouseWheel += new MouseEventHandler(pbRed_MouseWheel); this.pbBlue.MouseWheel += new MouseEventHandler(pbRed_MouseWheel); } //定义三个字段(全局变量) int red, green, blue; /// <summary> /// 鼠标滚动的时候,调色板上的颜色发生变化 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void pbRed_MouseWheel(object sender, MouseEventArgs e) { PictureBox pb = (PictureBox)sender; //判断鼠标滚动的方向 //若是向前,则相应颜色的像素值增加 if (e.Delta > 0) { //判断鼠标在哪个颜色区域滚动,若是红色区域则红色像素值增加,直到加到255,就不在变化 if (pb.BackColor == Color.Red) { if (red < 255) { red++; } //设置红色此时的像素值 this.lblRed.Text = red.ToString(); } if (pb.BackColor == Color.Green) { if (green < 255) { green++; } this.lblGreen.Text = green.ToString(); } if (pb.BackColor == Color.Blue) { if (blue < 255) { blue++; } this.lblBlue.Text = blue.ToString(); } //设置调色板的颜色 this.pbMixColor.BackColor = Color.FromArgb(int.Parse(lblRed.Text), int.Parse(lblGreen.Text), int.Parse(lblBlue.Text)); } else { if (pb.BackColor == Color.Red) { if (red > 0) { red--; } this.lblRed.Text = red.ToString(); } if (pb.BackColor == Color.Green) { if (green > 0) { green--; } this.lblGreen.Text = green.ToString(); } if (pb.BackColor == Color.Blue) { if (blue > 0) { blue--; } this.lblBlue.Text = blue.ToString(); } this.pbMixColor.BackColor = Color.FromArgb(int.Parse(lblRed.Text), int.Parse(lblGreen.Text), int.Parse(lblBlue.Text)); } }看看效果吧!
左边的三种颜色就是光的三原色,而中间的紫色就是通过调节三原色的像素值调配出来的。
注意:每一种颜色的最小值是0,最大值是255.
Ajax的姑娘,加油!
本文出自 “Ajax的姑娘” 博客,谢绝转载!
相关文章推荐
- 一共81个,开源大数据处理工具汇总:查询引擎、流式计算、迭代计算、离线计算、键值存储、表格存储、文件存储、资源管理、日志收集系统、消息系统、分布式服务、集群管理、基础设施、搜索引擎、数据挖掘=监控
- 面向对象系统设计部分的数据管理和构建部分的设计、活动图
- 【硬件】DELLserver硬件监控及DELL系统管理工具OMSA介绍
- 让系统管理监控逼格高一点的技巧——从零开始玩转JMX
- PXA270嵌入式系统设计一:电源管理部分
- Java Web开发-项目部分(中国移动科技综合管理系统)视频――私塾在线提供
- 联想万全慧眼V专业版监控管理系统详解
- 系统管理-第3部分 预配置和部署
- solaris 系统性能的监控与进程的管理
- Linux 学习笔记 -- 第二部分 Linux 文件、目录与磁盘格式 -- 第8章 Linux 磁盘与文件系统管理
- Linux 学习笔记 -- 第五部分 Linux 系统管理员 -- 第20章 启动流程、模块管理与 Loader
- 2011-03-08 走火入魔C#.NET通用权限管理系统组件改进功能部分
- linux系统日常管理----监控系统的状态(一)
- 实验室智能管理系统(2)——Arm+QT部分(一)
- 实验室智能管理系统(2)——Arm+QT部分(二)
- C#.NET 权限管理系统组件 - 大数据只获取更新部分数据列的标准例子
- 实验室智能管理系统(3)——zigbee部分
- 【基础部分】之管理系统中的简单分区和文件系统
- 使用 XForms 和 Ruby on Rails 开发小型门诊管理系统,第 3 部分:实现护士和医生 Xform
- 公布一下工资管理系统中核心部分工资计算的代码