颜色选择美化控件----------WinForm控件开发系列

该控件由  ColorExt  、 ColorPickerExt  、 ColorTextBox 组成。

DateExt  控件基于 Control 控件基础类 开发的,

DatePickerExt 是基于 Control 控件基础类开发的,不是由组合控件组成的,界面上的按钮也是直接用 GDI 绘制出来的。而 ,弹出层则是用 ToolStripDropDown 组件完成。

ColorTextBox 是基于 TextBox 是基于TextBox开发的用于颜色输入框。

该控件的界面参考网上颜色Jq插件软界面做的,颜色添加了透明度的设置,颜色选择方面应该比较齐全。

ColorExt 控件介绍:

通过对 ColorStyle 属性设置,控件功能可以是输入模式或只能从颜色面板选择模式。  输入模式是启用 ColorTextBox 控件, 只能从颜色面板选择 则直接由GDI绘制界面。

通过 ReadOnly 属性可以设置 ColorExt  控件只读,也就是输入模式或只能从颜色面板选择模式的功能都被禁止。

通过 Tab 键可以激活控件,在通过 Enter 键打开弹层。如下:

重写方法如下

新增属性如下

 DatePickerExt  控件介绍:

颜色面板主要由 以下组成

               默认颜色面板                                    html颜色面板                               标准颜色面板                               自定义颜色面板

         

                渐变框面板                               渐变框滑块面板                                 ARGB滑块 :                                         颜色值

                                         

                   底部按钮

 通过设置 DateReadOnly 属性可以把面板设置成只读的状态。

通过 ColorInput 属性可以设置当前颜色是否允许手动输入,当前色和原始的得左边是该颜色的 RGB 值,右边为改颜色的 ARGB 值,这样形成一个对比,最后的 ColorValue 对应的值为ARGB值。

 自定义颜色部分保存方面只是在程序的生命周期中还没有以资源方式保存下来,在程序关闭后,选好的自定义颜色都会还原。这部分你可以继续优化。

  重写方法如下

公开方法如下

新增类如下

 新增属性如下

ColorTextBox  控件介绍:

 ColorTextBox 继承 TextBox 控件,主要添加只能输入颜色字符的限制,目前能输入的颜色文本问 RGB(125,125,125)、ARGB(125,125,125,125)、16进制颜色(#FFFFFF)

控件库的源码已整体发布到gitee,下载地址:(花木兰控件库)https://gitee.com/tlmbem/hml

原文地址:https://www.cnblogs.com/tlmbem/p/11520981.html