c#构造ColorComboBox

这篇文章主要介绍了c#构造ColorComboBox的代码分享,大家参考使用吧

代码如下:

    class ColorComboBox : ComboBox

    {

        /// <summary>

        /// 当前选中色

        /// </summary>

        public Color SelectedColor

        {

            get { return Color.FromName(this.Text); }

        }

        /// <summary>

        /// 构造函数,构造颜色下拉列表

        /// </summary>

        public ColorComboBox()

        {

            this.DrawMode = DrawMode.OwnerDrawFixed;

            this.DropDownStyle = ComboBoxStyle.DropDownList;

            this.ItemHeight = 25;

 

            PropertyInfo[] propInfoList = typeof(Color).GetProperties(BindingFlags.Static | BindingFlags.DeclaredOnly | BindingFlags.Public);

            foreach (PropertyInfo c in propInfoList)

            {

                this.Items.Add(c.Name);

            }

            this.Text = "Black"; //设置默认色

        }

 

        protected override void OnDrawItem(DrawItemEventArgs e)

        {

            Rectangle rect = e.Bounds;

 

            if (e.Index >= 0)

            {

                string colorName = this.Items[e.Index].ToString();

                Color c = Color.FromName(colorName);

                using (Brush b = new SolidBrush(c)) //预留下拉项间距

                {

                    e.Graphics.FillRectangle(b, rect.X, rect.Y + 2, rect.Width, rect.Height - 4);

                }

            }

        }

时间: 2024-12-24 07:30:05

c#构造ColorComboBox的相关文章

azure-如何构造Azure存储的签名验证

问题描述 如何构造Azure存储的签名验证 最近在尝试用JS去调用Blob中的文件和资源,但是涉及到安全问题,我想使用SAS签名在我的url请求中,有没有哪位大神有这方面的代码或者思路,给分享下,万分感激~~ 解决方案 具体你用的这个我不是很清楚,但是如果是说需要验证签名的话,你可以考虑把签名放在服务器端,然后通过js获取签名后的字符串,放在你的URL请求里

JAVA之旅(四)——面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块

JAVA之旅(四)--面向对象思想,成员/局部变量,匿名对象,封装 , private,构造方法,构造代码块 加油吧,节奏得快点了 1.概述 上篇幅也是讲了这点,这篇幅就着重的讲一下思想和案例 就拿买电脑来说吧,首先,你不懂电脑,你去电脑城买电脑,和大象装冰箱里一样,是什么步骤?咨询 砍价 ,谈妥了就那电脑走人,对吧,这就是面向过程的思想,而面向对象是:你有一个哥们,他懂电脑,什么都会,你只要带他去,就行,你这个哥们就是对象,在JAVA中,我们就是操作一个对象去完成各种各样的操作的,这就是面向对

Backbone.js系列教程六:构造Backbone对象

Backbone构造函数 我之所以说Backbone很简单,是因为Backbone只有四个构造函数能被典型的实例化(基本上,它们首先被继承或子分类).这四种构造函数包括: Backbone.Model = function(attributes, {options}){}; Backbone.Collection = function([models], {options}){}; Backbone.Router = function({options}){}; //只能被具现化一次  Back

javascript创建对象之函数构造模式和原型模式结合使用(四)

创建自定义类型的常见方式就是组合使用构造函数模式与原型模式一起使用. 构造函数模式用于定义实例对象的特有的部分(属性和方法),原型模式用于定义共享的部分. 这样最大限度的节省了内存的开销. function Human(name, sex) {             this.name = name;             this.sex = sex;             this.getWife=function(){//娶老婆                 if (this.se

构造JSP/Javabean开发和发布环境的方法

以Java为基础的J2EE是最新的电子商务解决方案,其复杂性和开发工具系统的昂贵也使不少人却步.在实际项目应用中,真正需要完全使用J2EE方案的并不多,面对中小型企业电子商务应用,下列组合足够对付:Jsp/servlet + Javabeans(taglib) + MySQL(XML) 在具体实现方面,Linux+Tomcat+JDK +MySQL组合经过证明是稳定而快速且成本低廉,希望在众多中小系统中,凭借开源(Open Source)的力量,Java将依然立于不败之地. 如何构造一个简单的J

在PHP中利用XML技术构造远程服务(2)

xml|远程服务 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  四.基于XML_RPC的Web服务 利用XML_RPC构造和使用服务是很方便的.企业为自己提供的各种服务部署XML_RPC服务器,用户.客户软件和客户企业就可以使用这种服务构造出高端服务或者面向最终用户的应用.这种提供更有效.廉价和优质服务的竞争将极大地提高应用服务的质量. 但这里还存在一些问题有待解决

在PHP中利用XML技术构造远程服务(1)

xml|远程服务 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />  未来的Web将是以服务为中心的Web,XML_RPC标准使得编写和应用服务变得非常简单.本文介绍XML_RPC标准及其PHP实现,并通过实例示范了如何在PHP中开发XML_RPC服务和客户程序. 一.服务式Web 从内容提供商所采用的简单方法到UDDI(Universal Description,Dis

.NET开发方式之四层架构的Web应用系统构造

随着计算机网络技术的迅速发展,Web应用系统越发变得日益广泛起来.ASP.NET是微软推出的新一代Web开发平台,与其它Web开发技术相比,ASP.NET提供的Web页面级状态管理功能.服务器控件触发事件的工作模式.代码和内容分离的编程方式等? [1],在一定程度上改变了以往的we b 应用系统的架构模式.在软件开发技术方面,面向对象技术和软件分层结构设计是代码组织的一些好方法.但是对于具体的开发平台而言,多层结构有着不同的具体表现;对于具体的项目开发而言,面向对象技术对具体问题进行类定义和对象

C#体验Microsoft.NET平台基础构造

microsoft 抛开Microsoft.NET平台去谈C#是没有意义的,C#之"Sharp"也正在其后端强大的平台.仅仅拘泥于语法层面是体验不了C#的锐利之处的,C#程序很多诡秘之处必须依靠Microsoft.NET平台才能深度的掌握和运用.简单的讲,Microsoft.NET平台是一个建立在开放互联网络协议和标准之上,采用新的工具和服务来满足人们的计算和通信需求的革命性的新型XML Web智能计算服务平台.它允许应用程序在因特网上方便快捷地互相通信,而不必关心使用何种操作系统和编