黑马程序员技术交流社区

标题: WinForm调色板实现遇到困难 [打印本页]

作者: 杨深    时间: 2012-11-14 13:08
标题: WinForm调色板实现遇到困难
我现在定义了3个hscrollbar调节3个基色红蓝绿,并且设置了它们最大值都为255,
现在想通过拖动三个hscrollbar调色,并将调出的颜色显示在一个TEXTBOX上

写出了一些代码:

最后如何实现功能啊?



作者: 陈辉    时间: 2012-11-14 19:25
我写的代码如下:
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;
        }
    }

运行结果如下图:



作者: 邓超军    时间: 2012-11-14 21:19
你只要用Color.FromArgb()方法把三个滚动条的值转换成颜色即可,最后把三个滚动条的Scroll事件共享你写的那个事件就可以了。
作者: 杨深    时间: 2012-11-15 14:32
呵呵,已解决。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2