您的位置:首页 > 运维架构

系统管理-第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的姑娘” 博客,谢绝转载!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐