
复制代码 代码如下:
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);
}
}
}
以上是内存溢出为你收集整理的c#构造ColorComboBox(颜色下拉框)全部内容,希望文章能够帮你解决c#构造ColorComboBox(颜色下拉框)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)