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());
    }
    }
    }
  • 相关阅读:
    对象的创建
    Java运行时数据区域
    Java内存模型
    LinkedList小练习及相关算法
    面试题之矩阵与转置矩阵相乘
    快速排序
    垃圾收集器
    java垃圾收集相关问题
    Win7下安装Centos7双系统出错:No valid bootloader target device found.
    Scanner类的方法
  • 原文地址:https://www.cnblogs.com/sifenkesi/p/2014592.html
Copyright © 2011-2022 走看看