zoukankan      html  css  js  c++  java
  • WinForm自定义控件(颜色设置控件)

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Drawing;
    using System.Data;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;

    namespace SelfColorControl
    {
    public partial class ColorControl : UserControl
    {
    public ColorControl()
    {
    InitializeComponent();
    this.Size = this.panelColor.Size;
    }

    private void SetPanelColor()
    {
    int r = Convert.ToInt32(this.textBoxRed.Text.ToString());
    int g = Convert.ToInt32(this.textBoxGreen.Text.ToString());
    int b = Convert.ToInt32(this.textBoxBlue.Text.ToString());
    this.panelColor.BackColor = Color.FromArgb(r, g, b);
    }

    #region Property

    //当前颜色值
    [Description("当前颜色值"), DefaultValue(0), Category("Data")]
    public Color CurValue
    {
    get { return this.panelColor.BackColor; }
    set
    {
    this.panelColor.BackColor = value;
    //改变控件值
    this.textBoxRed.Text = value.R.ToString();
    this.textBoxGreen.Text = value.G.ToString();
    this.textBoxBlue.Text = value.B.ToString();
    this.trackBarRed.Value = Convert.ToInt32(value.R.ToString());
    this.trackBarGreen.Value = Convert.ToInt32(value.G.ToString());
    this.trackBarBlue.Value = Convert.ToInt32(value.B.ToString());
    }
    }

    #endregion

    #region Event

    public delegate void ColorValueChangedHandler(object sender, EventArgs e);
    [Description(
    "颜色值变化"), Category("Mouse")]
    public event ColorValueChangedHandler ValueChanged;

    #endregion

    private void trackBarRed_ValueChanged(object sender, EventArgs e)
    {
    this.textBoxRed.Text = this.trackBarRed.Value.ToString();
    SetPanelColor();
    if (null != ValueChanged)
    {
    ValueChanged(sender, e);
    }
    }

    private void trackBarGreen_ValueChanged(object sender, EventArgs e)
    {
    this.textBoxGreen.Text = this.trackBarGreen.Value.ToString();
    SetPanelColor();
    if (null != ValueChanged)
    {
    ValueChanged(sender, e);
    }
    }

    private void trackBarBlue_ValueChanged(object sender, EventArgs e)
    {
    this.textBoxBlue.Text = this.trackBarBlue.Value.ToString();
    SetPanelColor();
    if (null != ValueChanged)
    {
    ValueChanged(sender, e);
    }
    }

    private void panelColor_Click(object sender, EventArgs e)
    {
    m_bShowAll
    = !m_bShowAll;
    if (m_bShowAll)
    {
    Size sz
    = new Size(200, 150);
    this.Size = sz;
    }
    else
    {
    this.Size = this.panelColor.Size;
    }
    }

    private void textBoxRed_TextChanged(object sender, EventArgs e)
    {
    this.trackBarRed.Value = Convert.ToInt32(this.textBoxRed.Text.ToString());
    }

    private void textBoxGreen_TextChanged(object sender, EventArgs e)
    {
    this.trackBarGreen.Value = Convert.ToInt32(this.textBoxGreen.Text.ToString());
    }

    private void textBoxBlue_TextChanged(object sender, EventArgs e)
    {
    this.trackBarBlue.Value = Convert.ToInt32(this.textBoxBlue.Text.ToString());
    }
    }
    }
  • 相关阅读:
    EggJs+Vue服务端渲染实践
    使用Charles代理功能将网络请求定向至本地文件
    iOS内存管理(一)
    RumTime实践之--UITableView和UICollectionView缺省页的实现
    CollectionView水平和竖直瀑布流的实现
    解决在HTTPS页面里嵌套HTTP页面浏览器block的问题
    利用servlet做转发,实现js跨域解决同源问题
    js将数字转换成大写的人民币表达式
    《将博客搬至CSDN》 分类: 勉励自己 2014-09-05 14:29 43人阅读 评论(0) 收藏
    jquery插件,美化select标签
  • 原文地址:https://www.cnblogs.com/sifenkesi/p/2014592.html
Copyright © 2011-2022 走看看