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());
    }
    }
    }
  • 相关阅读:
    oracle 中有数据但是sql查询不出来结果(中文)
    linux mac 命令行 远程连接ssh提示IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY解决
    各地图坐标系知识及其转换方法
    Arcgis更新sde库许可
    运营商的三大数据域——B域,O域,M域
    SQL语句大全,所有的SQL都在这里
    苹果手机开启热点后,电脑搜索不到
    ArcgisServer在Linux系统上更新许可
    Linux 查询文件内容重复数 uniq、sort命令
    Atom 配置 Python
  • 原文地址:https://www.cnblogs.com/sifenkesi/p/2014592.html
Copyright © 2011-2022 走看看