A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨深 中级黑马   /  2012-11-14 13:08  /  1918 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

我现在定义了3个hscrollbar调节3个基色红蓝绿,并且设置了它们最大值都为255,
现在想通过拖动三个hscrollbar调色,并将调出的颜色显示在一个TEXTBOX上

写出了一些代码:

最后如何实现功能啊?


评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

3 个回复

倒序浏览
我写的代码如下:
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            //将三个HScrollBar的最大值都设置为255
            this.hsRed.Maximum = 255;
            this.hsGreen.Maximum = 255;
            this.hsBlue.Maximum = 255;
        }

        //当HScrollBar的值改变时触发此事件
        private void hsRGB_ValueChanged(object sender, EventArgs e)
        {
            int iR = this.hsRed.Value;
            int iG = this.hsGreen.Value;
            int iB = this.hsBlue.Value;

            //用R、G、B创建Color结构实例
            Color RGB = Color.FromArgb(iR, iG, iB);
            this.txtNum.Text = "R=" + iR + ", G=" + iG + ", B=" + iB;
            //设置TextBox的背景色
            this.txtColor.BackColor = RGB;
        }
    }

运行结果如下图:


评分

参与人数 1技术分 +1 收起 理由
张文 + 1

查看全部评分

回复 使用道具 举报
你只要用Color.FromArgb()方法把三个滚动条的值转换成颜色即可,最后把三个滚动条的Scroll事件共享你写的那个事件就可以了。

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
呵呵,已解决。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马